line = Image und nicht linie ????

Anfängerfragen zum Programmieren mit PureBasic.
The_ride
Beiträge: 5
Registriert: 30.03.2008 17:25

line = Image und nicht linie ????

Beitrag von The_ride »

hi!

Linux user

ich habe einen sorce von den mitgelieferten genommen

wie binde ich da ein bild (.jpg oder .png) ein ?? am besten über den rasterbalken (linie)
:) und könnte mir einer bitte sagen was If CreateImage(0, 255, 255) ; bedeutet ????
kann ich auch .svg grafiken verarbeiten ???

danke im vorraus :)

The_ride

Code: Alles auswählen

; ------------------------------------------------------------
;
;   PureBasic - Image example file
;
;    (c) 2001 - Fantaisie Software
;
; ------------------------------------------------------------
;

If OpenWindow(0, 100, 100, 800, 600, "Test-Fenster")               ; (0,Position,Position,Breite,Höhe,"fenster-Titel")

  Gosub CreateImage

  CreateGadgetList(WindowID(0))
    ImageGadget(0, 10, 10, 200, 200, ImageID(0))                ; bedeutet was ??????

  Repeat
    EventID = WaitWindowEvent()
  Until EventID = #PB_Event_CloseWindow  
  
EndIf

End   


;
; Some 2D graphics functions...
;

CreateImage:

  If CreateImage(0, 255, 255)                             ; bedeutet was ??????
    If StartDrawing(ImageOutput(0))
        
      For k=30 To 30
        FrontColor(RGB(255, 255, 255))                          ;  Farbe Raster erstellen
        Line(0, k, 255, 0)                                                 ;  (Positioin-L,Raster,breite,winkel) 
      Next

   
  EndIf
  EndIf
  
  ResizeImage(0, 800, 600)

Return   
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: line = Image und nicht linie ????

Beitrag von RSBasic »

The_ride hat geschrieben:...und könnte mir einer bitte sagen was If CreateImage(0, 255, 255) ; bedeutet ????
1. Bitte nicht so viele ? benutzen.
2. Der Befehl CreateImage() erstellt ein leeres Bild. Darauf kannst du zeichnen (mit ImageOutput())
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
#NULL
Beiträge: 2237
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

CreateImage() erstellt wie gesagt ein neues bitmap im hauptspeicherspeicher. darauf kannst du dann zeichnen und/oder du kannst es auf etwas zeichnen. das If ist dazu da, um zu überprüfen, ob die erstellung fehlerfrei verlief (-->rückgabewert der funktion), denn nur dann sollte man versuchen, es in (zeichen-)operationen zu verwenden.
StartDrawing(ImageOutput(0)) bereitet die zeichenoperationen vor, in diesem fall das zeichnen auf dieses bitmap mit Line(..)

diese image kannst du in einem ImageGadget() anzeigen 'lassen'. dazu übergibst du deinem ImageGadget() das handle des bildes mit ImageID(bildNr).


>> wie binde ich da ein bild ein..
direkt in die exe mit einbinden geht über IncludeBinary und CatchImage().
vielleicht meinst du aber einfach 'laden'? --> LoadImage(..), wobei für jpg/png noch UseJPEGImageDecoder() / UsePNGImageDecoder() nötig ist (für bmp brauchst du keinen extra decoder).
my pb stuff..
Bild..jedenfalls war das mal so.
xperience2003
Beiträge: 972
Registriert: 04.10.2004 18:42
Computerausstattung: Amiga, LinuxMint, Windows7
Wohnort: gotha
Kontaktdaten:

Beitrag von xperience2003 »

liess dir erstmal das handbuch durch und verschaff dir einen ueberblick ueber den befehlssatz

ein bild einbinden geht mit IncludeBinary "pfad/dateiname"
welches du dann mit CatchImage(?adresse) erstellen und mit Drawimage()
anzeigen kannst
amiga rulez...
Rebirth Software
Antworten