Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi bmp speichert nicht (https://www.delphipraxis.net/118822-bmp-speichert-nicht.html)

fortuneNext 15. Aug 2008 15:44


bmp speichert nicht
 
Hi...
ich hab grad irgendwie eine Blockade.
Ich habe mir eine Prozedur geschrieben die einfach Pixelweise ein bmp in ein anderes kopieren soll (ich weiss, der Sinn ist fraglich, aber egal...)

So sieht sie aus:

Delphi-Quellcode:
procedure TfMain.Btn_ExeClick(Sender: TObject);
var
  x,y: integer;
  Old, New: TBitMap;
begin
Old := TBitMap.Create;
Old.LoadFromFile(EditOld.Text);
New := TBitMap.Create;
New.LoadFromFile(EditNew.Text);
For y := 1 to Old.Height do
begin
  For x := 1 to Old.Width do
  begin
    New.Canvas.Pixels[x,y] := Old.Canvas.Pixels[x,y];
  end;
end;
New.SaveToFile(EditNew.Text);
Old.Destroy;
New.Destroy;
end;

Das Programm hängt zwar die Weile, aber das Bitmap ist hinterher noch leer. Was hab ich peinliches vergessen?
mfg

Fussball-Robby 15. Aug 2008 15:53

Re: bmp speichert nicht
 
evtl.:
Delphi-Quellcode:
New.Width := Old.Width;
New.Height := Old.Height;

Neutral General 15. Aug 2008 15:58

Re: bmp speichert nicht
 
Zitat:

Zitat von Fussball-Robby
evtl.:
Delphi-Quellcode:
New.Width := Old.Width;
New.Height := Old.Height;

Dachte ich zuerst auch aber er läd ja New auch aus einer Datei. Dann wird Width und Height automatisch gesetzt. Wobei das noch nicht heißt, dass dann die Bitmaps gleichgroß sind, was sie aber sein sollten.

Von daher stimmt das schon. sehen müsste man aber trotzdem was. Oder es gäbe eine AV wenn das neue Bild zu klein wäre.

Warum lädst du New aus ner Datei?

Namenloser 15. Aug 2008 15:59

Re: bmp speichert nicht
 
Trotz fraglichem Sinn solltest du über die Verwendung von Delphi-Referenz durchsuchenTBitmap.Scanline nachdenken.

fortuneNext 15. Aug 2008 16:27

Re: bmp speichert nicht
 
ScanLine kenn ich schon danke ;)
Und naja... eigentlich will ich das Bild einfach in ne neue Datei kopieren, aber ich habs erstmal so gemacht dass die Datei schon vorher existiert und einfach reingeschrieben wird, dass die Datei automatisch erstellt wird mach ich später...
Also das mit dem vorher lesen stimmt, danke für den Hinweis...
des Rätsels Lösung war aber tatsächlich die Width & Heigth des New-Bitmaps! Danke ! :)

mkinzler 15. Aug 2008 16:30

Re: bmp speichert nicht
 
Und warum speicherst du dann nicht mit
Delphi-Quellcode:
Old.SaveToFile(EditNew.Text);
?

DeddyH 15. Aug 2008 16:43

Re: bmp speichert nicht
 
Wir sollen doch nicht nach dem Sinn fragen :mrgreen:

Die Antwort ist sowieso "42"


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz