Seite 1 von 1

Draw Image

Verfasst: 15.02.2008 00:33
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...

Verfasst: 15.02.2008 00:44
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.

Verfasst: 15.02.2008 00:56
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 ???

Verfasst: 15.02.2008 01:12
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.

Verfasst: 15.02.2008 01:48
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)

Verfasst: 15.02.2008 10:33
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 -.-

Verfasst: 15.02.2008 11:31
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

Verfasst: 15.02.2008 12:24
von Tsuki-Namida
okay so ähnlich hatte ich es auch nur irgentwie wollte das nicht -.- aber deins geht hervoragend :) vielen vielen dank :)

Verfasst: 15.02.2008 13:08
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