gesucht gegenteil von catchimage

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
#NULL
Beiträge: 2239
Registriert: 20.04.2006 09:50

Beitrag 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
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
#NULL
Beiträge: 2239
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

ich frage mich eher ob ER weiss, was er meint
my pb stuff..
Bild..jedenfalls war das mal so.
mar
Beiträge: 107
Registriert: 06.08.2005 14:49

Beitrag 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
Benutzeravatar
#NULL
Beiträge: 2239
Registriert: 20.04.2006 09:50

Beitrag 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!!
my pb stuff..
Bild..jedenfalls war das mal so.
mar
Beiträge: 107
Registriert: 06.08.2005 14:49

Beitrag von mar »

oh ja das geht ja auch noch.

bissel langsam aber geht!

:oops: :oops: :oops: :oops: :oops:
mar
Beiträge: 107
Registriert: 06.08.2005 14:49

Beitrag 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
Antworten