Seite 2 von 2

Verfasst: 15.06.2006 15:12
von #NULL
dann eben noch'n code

Code: Alles auswählen

DataSection
  label:
    IncludeBinary "bild.bmp"
EndDataSection

bildNr.l = CatchImage(#PB_Any, ?label)

StartDrawing( ImageOutput(bildNr) )
  Circle( ImageWidth(bildNr)/2, ImageHeight(bildNr)/2, 20, $00ff00)
StopDrawing()


If OpenWindow(0, 50,50, 400,300, "title") = 0
  End
EndIf


Repeat
  StartDrawing( WindowOutput(0) )
    DrawImage( ImageID(bildNr), 10,10, 380,280)
  StopDrawing()
  Delay(10)
Until WindowEvent()=#PB_Event_CloseWindow

Verfasst: 15.06.2006 15:25
von ts-soft
Ich glaub ich weiß was er meint, naja, vielleicht?

Code: Alles auswählen

File = ReadFile(#PB_Any, "Bild.bmp")
If File
  Length = Eof(File)
  *Mem = AllocateMemory(Length)
  If *Mem
    ReadData(File,*Mem, Length)
    CloseFile(File)
  EndIf
EndIf
Jetzt steht "Bild.bmp" im Speicher ab *Mem bis *Mem + Length

Hat zwar nicht viel mit Grafik und bla bla zu tun, weil das mit jeder Datei geht :freak:

Verfasst: 15.06.2006 15:48
von #NULL
ich frage mich eher ob ER weiss, was er meint

Verfasst: 15.06.2006 21:55
von mar
Wenn ich dann das Bild über andere Wege als die PB-Save-Befehle weitergeben will, ist es schön dieses Bild im Speicher zu haben.

Leider ist bei Drawingbefehlen immer das Bild in mir unzugänglichem Speicherbereich. Um da doch ranzukommen gibt es z.B.dieses Bitblt_ (oder so ähnlich) unter Windows. Besser wär ein Befehl für alle Betriebssysteme.

Vielen Dank für eure Mühe
mar

Verfasst: 16.06.2006 14:01
von #NULL
also entweder vermuddelst du da was, oder das universum is ganz anders als ich immer dachte. greift man denn nicht auf den speicherbereich des bildes zu, wenn man beispielsweise eine pixelfarbe mit point() ausliesst?. wenn du ein bild in dir unzugänglichem speicherbereich hast, frage ich mich, wie du es dort hinbekommen hast. und
Besser wär ein Befehl für alle Betriebssysteme
...ja wieso sollen die PB-befehle nicht genau dies sein?

davon abgesehen gibt es im (video)speicher doch keine formate wie bmp oder jpg, ect, oder????? (bitte um aufklärung, das interessiert mich mal). denn dies sind ja nur ablage-formate für hd's, cd's disketten, ect., welche beim einlesen DE-codiert werden, um dann mit den bild-roh-daten zu arbeiten. wenn du z.b. in PB ein jpg lädtst (mit den jpg-decoder), brauchst du ja dennoch wieder den jpg-encoder um es als jpg abzuspeichern. also hat es zwischendurch nix mit jpg zu tun. (?)

wenn du das bild mit IncludeBinary geladen hast, dann IST das bild in zugänglichem speicherbereich!!

Verfasst: 16.06.2006 16:53
von mar
oh ja das geht ja auch noch.

bissel langsam aber geht!

:oops: :oops: :oops: :oops: :oops:

Verfasst: 16.06.2006 17:01
von mar
Hi mal etwas Erklärung...

im Moment bearbeite ich 16 bit grau Bilder - laden + speichern
Zum Anzeigen bearbeite ich die Bilder etwas im 32 bit RGB Format.

Catchimage möchte gern 32 Bit RGB Bilder haben.
da ich eh schon den bitmap header verwende wär es kein Problem
das so auch wieder von meinem Programm aus einzusammeln,
wenn es den ein writeImage oder so geben würde.
Vorteil von dem Header ist, dass alle Infos zum Bild mit dabei sind.

bis dann
mar