Draw Image

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Draw Image

Beitrag von Tsuki-Namida »

hallo,
ich möchte einen button mit draw image generieren...

also ich habe ein bild was schon die richtige höhe hat aber nur ein pixel breit ist.. ich möchte dieses bild mehr mal duplizieren bis ich die benötigte breite habe und danach möchte ich noch einen text darauf bringen...

in der hilfe habe ich leider nicht wirklich was passendes gefunden :( deshalb frage ich hier...

danke schon mal für antwort...
Bild
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

also wenn du ein image hast, 1 pixel breit und so hoch wie der button, dann nimm leber einfach resizeimage mit Raw-flag um ihn auf die gewünschte breite zu ziehen.
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

das einzige was ich da gefunden habe ist "DrawImage(ImageID, x, y [, NeueBreite, NeueHöhe])"
aber wie bekomme ihc dann das image in den speicher und die ID in eine variabel? damit ich das dann weiterbearbeiten kann mit dem text ???
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

"notfalls" create ein neues image in der breite des buttons,
und zeichne dein 1pix breites mit einer schleife x-mal auf das neue.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

entweder du benutzt CopyImage() + ResizeImage().
oder du benutzt

Code: Alles auswählen

CreateImage(buttImg,buttW,buttH)
StartDrawing(ImageOutput(buttImg)
  DrawImage(pixelImg,0,0,buttW,buttH)
oder wie KG sagte (auch mit CreateSprite, in einer schleife das pixelimage auf das buttonimage aneinanderreihen)
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

hmmm das wird irgentwie nichts -.- ich bekomme es mit deinem code nicht hin... jetztz habe ich über die hilfe noch ein bischen daran um hergspiel aber es wird leider nichts :(

habe ich ggf was falsch gemacht?
aber was kann man da falsch machen -.-
Bild
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Wo isn das Problem ?

Code: Alles auswählen

;Create Image 1px * 24px
If CreateImage(0, 1, 24)
	If StartDrawing(ImageOutput(0))
		For y = 0 To 23
			Plot(0, y, RGB(255 - y * 5, 0, 0))
		Next y
		StopDrawing()
	EndIf
EndIf
;Create a buttonimage
CreateImage(1, 80, 24)
If StartDrawing(ImageOutput(1))
	DrawImage(ImageID(0), 0, 0, 79, 23)
	DrawingMode(#PB_2DDrawing_Transparent)
	DrawText(40 - TextWidth("Blubb") / 2, 12 - TextHeight("Blubb") / 2, "Blubb")
	StopDrawing()
EndIf

CreateGadgetList(OpenWindow(0, 0, 0, 200, 200, "", #PB_Window_SystemMenu))
ButtonImageGadget(0, 10, 10, 80, 24, ImageID(1))
While WaitWindowEvent() <> #PB_Event_CloseWindow : Wend
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

okay so ähnlich hatte ich es auch nur irgentwie wollte das nicht -.- aber deins geht hervoragend :) vielen vielen dank :)
Bild
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

yo, oder eben so

Code: Alles auswählen

;Create a buttonimage
CopyImage(0,1)
ResizeImage(1, 80, 24)
If StartDrawing(ImageOutput(1))
   DrawingMode(#PB_2DDrawing_Transparent)
   DrawText( ..
yo, oder eben so

Code: Alles auswählen

Create a buttonimage
CreateImage(1, 80, 24)
If StartDrawing(ImageOutput(1))
   For x=0 To 78
      DrawImage(ImageID(0), x,0)
   Next
my pb stuff..
Bild..jedenfalls war das mal so.
Antworten