Autor Beitrag
Dolphi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Di 27.01.04 18:53 
Hallo,

Ich möchte ein 24 Bit-Bild aus der Zwischenablage in ein TImage einfügen (Delphi 7).
Probleme:

1. wenn ich es mit
ausblenden Delphi-Quelltext
1:
Image1.picture.Assign(Clipboard);					

einfüge, dann stimmen zwar die Farben, aber das Bild ist ein paar Pixel größer als es sein sollte (Stretch ist natürlich False).

2. also wollte ich es folgendermassen machen:
ausblenden Delphi-Quelltext
1:
2:
Image1.Picture.bitmap.PixelFormat := pf32bit;
Image1.Picture.bitmap.LoadFromClipboardFormat(cf_BitMap, ClipBoard.GetAsHandle(cf_Bitmap), 0);

das Bild hat dann zwar die richtige Größe, aber dafür hat es jetzt nur noch 256 Farben.

Wie kann ich das Bild am Besten in ein TImage einfügen damit es die richtige Größe und Farbtiefe hat?

Vielen Dank,
Stefan

Moderiert von user profile iconPeter Lustig: Code- durch Delphi-Tags ersetzt und Thema verschoben
Dolphi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Mi 28.01.04 00:03 
Also ich erklär das ganze nochmal (ist verwirrend) :shock: :roll: :cry:

Ich wollte ein Bild aus Paint Shop Pro 7.04 kopieren (STRG+C) und folgendermassen in mein Programm einfügen (Image1 ist ein nagelneues TImage auf einem nagelneuen TForm - ich habe nichts verändert)
ausblenden Delphi-Quelltext
1:
Image1.picture.Assign(Clipboard);					

Dann stimmen zwar die Farben, aber das Bild ist 616 statt 600 Pixel breit.

Wenn ich es stattdessen mit
ausblenden Delphi-Quelltext
1:
Image1.picture.bitmap.Assign(Clipboard);					

einfüge, dann stimmt die Größe, aber es sind nur genau 256 Farben statt den ursprünglichen 24 Bit.

Dann hab ich es jetzt noch mit ACDSee 5 getestet und da ist das ganz anders! Ich klicke dort mit rechter Maustaste auf das Bild > Bild kopieren und füge dann die Zwischenablage in mein Image1 ein. Und dann stimmt es, egal ob ich
ausblenden Delphi-Quelltext
1:
Image1.picture.Assign(Clipboard);					

oder
ausblenden Delphi-Quelltext
1:
Image1.picture.bitmap.Assign(Clipboard);					

verwende! Es ist perfekt.

Dann hab ich noch versucht das Bild aus Paint Shop Pro 7.04 nach ACDSee zu kopieren...
im PSP STRG+C und im ACDSee im Browser "Einfügen", einen Dateinamen eingeben und siehe da - es ist perfekt!?! :shock:


Also ist es doch so, dass zwischen PSP und Delphi 7 irgend ein Problem gibt??? Hat jemand eine Idee?