Hallo,
über die Funktionen CreateImage, StartDrawing, StopDrawing und ImageGadget kann ich zwar ein Bild erstellen muss aber bei jeder kleinen änderung das ganze Bild neu generieren.
Gibt es eine möglichkeit in dem angezeigzen Bild einzelne Pixel zu verändern ohne alles neu Aufbauen zu müssen?
Danke.
Einzelne PIXEL ändern
- PIC18F2550
- Beiträge: 104
- Registriert: 29.04.2024 09:10
- Computerausstattung: Server HP Proliant G7
PC AMD FX(tm)-9590, 64Gb Ram, 2x 2TB Raid5 SAS
Einzelne PIXEL ändern
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Re: Einzelne PIXEL ändern
Mit StartDrawing kannst Du doch auf dem Bild Zeichnen! (Imageoutput(#Image) )PIC18F2550 hat geschrieben: 04.11.2024 12:54 Hallo,
über die Funktionen CreateImage, StartDrawing, StopDrawing und ImageGadget kann ich zwar ein Bild erstellen muss aber bei jeder kleinen änderung das ganze Bild neu generieren.
Gibt es eine möglichkeit in dem angezeigzen Bild einzelne Pixel zu verändern ohne alles neu Aufbauen zu müssen?
Danke.
D.h. Das Image wird Nicht neu aufgebaut sondern nur verändert.
Olaf
Unsinnige Anweisungen von Seiten des Chef's lösen grundsätzlich ein "Syntax Error" bei mir aus
OS=Linux Zorin
PureBasic 6.xx
OS=Linux Zorin
PureBasic 6.xx
Re: Einzelne PIXEL ändern
Du kannst das CanvasGadget nutzen.
Hier kannst du die Pixel manipulieren, und es wird sofort im Gadget angezeigt.
Hier kannst du die Pixel manipulieren, und es wird sofort im Gadget angezeigt.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
- PIC18F2550
- Beiträge: 104
- Registriert: 29.04.2024 09:10
- Computerausstattung: Server HP Proliant G7
PC AMD FX(tm)-9590, 64Gb Ram, 2x 2TB Raid5 SAS
Re: Einzelne PIXEL ändern
Ok werd ich morgen mal Probieren.
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Re: Einzelne PIXEL ändern
Beim ImageGadget musst du nach dem ändern das Image mit SetGadgetState aktualisieren
Kleine Spielerei
Kleine Spielerei

Code: Alles auswählen
;-TOP
Procedure UpdateImageGadget(image)
Protected color, x, y
color = Random($FFFFFF, $404040)
x = Random(280, 10)
y = Random(180, 10)
If StartDrawing(ImageOutput(image))
Circle(x, y, 10, color)
StopDrawing()
SetGadgetState(0, ImageID(image))
EndIf
EndProcedure
Procedure UpdateWindow()
Protected dx, dy
dx = WindowWidth(0)
dy = WindowHeight(0) - StatusBarHeight(0) - MenuHeight()
; Resize Gadgets
EndProcedure
Procedure Main()
Protected dx, dy
#WinStyle = #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_MaximizeGadget | #PB_Window_MinimizeGadget
If OpenWindow(0, #PB_Ignore, #PB_Ignore, 600, 400, "Test Window", #WinStyle)
; MenuBar
CreateMenu(0, WindowID(0))
MenuTitle("&File")
MenuItem(99, "E&xit")
; StatusBar
CreateStatusBar(0, WindowID(0))
AddStatusBarField(#PB_Ignore)
CreateImage(0, 300, 200, 24, #White)
; Gadgets
dx = WindowWidth(0)
dy = WindowHeight(0) - StatusBarHeight(0) - MenuHeight()
ImageGadget(0, 10, 10, 300, 200, ImageID(0))
; Bind Events
BindEvent(#PB_Event_SizeWindow, @UpdateWindow())
AddWindowTimer(0, 1, 250)
; Main Loop
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Select EventWindow()
Case 0
Break
EndSelect
Case #PB_Event_Menu
Select EventMenu()
Case 99
PostEvent(#PB_Event_CloseWindow, 0, 0)
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
EndSelect
Case #PB_Event_Timer
Select EventTimer()
Case 1
UpdateImageGadget(0)
EndSelect
EndSelect
ForEver
EndIf
EndProcedure : Main()
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive