Re: Bitmap erstellen mit TBitmap.Create und speichern
ja genau so habe ich es vor.
0 ist nur ein Test. Kann ich denn irgendwas mit Scanline anfangen oder eine andere Methode, wo ich ein Bitmap erstellen kann, einzelne Pixel ändere und das dann abspeichere?! MFG Alex |
Re: Bitmap erstellen mit TBitmap.Create und speichern
Hast du das mit dem Zwischenspeichern mal versucht?
|
Re: Bitmap erstellen mit TBitmap.Create und speichern
wie meinst du das mit dem zwischenspeichern?
Ich versuche es gerade über einen Stream zu machen,mal gucken was dabei raus kommt?! MFG Alex |
Re: Bitmap erstellen mit TBitmap.Create und speichern
mit einem Stream habe ich das gleiche Problem, dass ab und zu weiße balken da sind...
Kennst du noch andere methoden, die ich nutzen könnte. danke alex mein neuer source für stream:
Delphi-Quellcode:
[edit]
procedure CreateNewBitmap;
var Bmp : TBitmap; i, j : Integer; aStream : TFileStream; begin Bmp := TBitmap.Create; Bmp.Width := 1024; Bmp.Height := 768; Bmp.Pixelformat := pf32bit; for i := 0 to 1023 do begin for j := 0 to 767 do begin Bmp.Canvas.Pixels[i,j] := clBlack; end; end; aStream := TFileStream.Create('C:\Test.bmp', fmCreate or fmOpenWrite); Bmp.SaveToStream(aStream); aStream.Free; end; Es geht auch mit MemoryStream anstatt FileStream nicht [/edit] |
Re: Bitmap erstellen mit TBitmap.Create und speichern
Mit Zwischenspeichern meine ich es in einen Puffer abzulegen und dann im Haupthread das Bitmap zu erzeugen.
|
Re: Bitmap erstellen mit TBitmap.Create und speichern
ich bekomme relativ schnell diese bilder hintereinander (bzw. immerwieder neue Bilder).
meinst du mit zwischenspeichern in ein zweites array? mfg alex Diese Funktion CreateNewBitmap soll also woanders aufgerufen werden? |
Re: Bitmap erstellen mit TBitmap.Create und speichern
ich habe jetzt aus dem Thread ein timer auf einem formular unsynchroniziert enabled auf true gesetzt und dieser timer speichert jetzt das bild in seinem event.
da scheint es erstmal zu gehen. werde es aber noch ein paar mal testen. ich verlasse mich so schnell auf nichts mehr :-) Trotzdem verstehe ich das nicht, warum es im thread nicht geht. Vielleicht weiß noch jemand warum oder hat eine lösung. Danke alex |
Re: Bitmap erstellen mit TBitmap.Create und speichern
Die VCL ist (noch) nicht multithreading-fähig!
|
Re: Bitmap erstellen mit TBitmap.Create und speichern
aber wieso geht es in einem thread nicht? das heißt, die speichern funktion von TBitmap ist nicht threadsicher?
MFG Alex |
Re: Bitmap erstellen mit TBitmap.Create und speichern
Ja.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz