Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Frame auf TImage32 "zeichnen" (https://www.delphipraxis.net/171585-frame-auf-timage32-zeichnen.html)

Array 13. Nov 2012 16:16

Frame auf TImage32 "zeichnen"
 
Hallo Leute!

Ich habe folgendes Problem ich möchte ein Frame auf ein TImage32 der Komponente Graphics32 "zeichnen".

Wenn ich es "normal" ohne Graphics32 mache:

Delphi-Quellcode:
Form2.image1.Canvas.Pixels[0,0] := clWhite;
Form2.image1.Canvas.Lock;
Frame1.PaintTo(Form2.image1.Canvas.Handle,0,0);
Form2.image1.Canvas.UnLock;
Form2.image1.Invalidate;
Form2.image1.SaveToFile(Dateipfad);
dann gibt es keine Probleme. Allerdings ist die Qualität dann sehr schlecht. Darum möchte ich es mit Graphics32 machen.

Und zwar so:

Delphi-Quellcode:
Form2.image1.Canvas.Pixels[0,0] := clWhite;
Form2.image1.Canvas.Lock;
Frame1.PaintTo(Form2.image1.Canvas.Handle,0,0);
Form2.image1.Canvas.UnLock;
Form2.image1.Invalidate;
Form2.image1.bitmap.SaveToFile(Dateipfad);
jedoch wird mir das Frame nicht auf das Image32 gezeichnet.

Weiß jemand von euch wie das funktionieren könnte?

Liebe Grüße

Array :)

Jens01 13. Nov 2012 16:53

AW: Frame auf TImage32 "zeichnen"
 
kann gerade nicht gucken, aber GR32 geht nicht über das Canvas sondern über Bitmap.

nuclearping 13. Nov 2012 18:49

AW: Frame auf TImage32 "zeichnen"
 
Ja, bei Image32 musst du mit der Bitmap32-Property arbeiten. Image321.Bitmap....

Array 14. Nov 2012 06:08

AW: Frame auf TImage32 "zeichnen"
 
Delphi-Quellcode:
  Form2.image321.bitmap.Pixels[0,0] := clWhite;
Form2.image321.bitmap.Lock;
Frame1.PaintTo(Form2.image321.bitmap.Handle,0,0);
Form2.image321.bitmap.UnLock;
Form2.image321.Invalidate;
Auch wenn ich die Bitmap-Property verwende, zeichnet mir Delphi einfach nicht das Frame auf das TImage32.

Hat nicht jemand einen konkreten Lösungvorschlag?

nuclearping 14. Nov 2012 06:13

AW: Frame auf TImage32 "zeichnen"
 
Hast du dem Bitmap eine Größe zugewiesen? .Width, .Height?

Jens01 14. Nov 2012 11:10

AW: Frame auf TImage32 "zeichnen"
 
So hasts funktioniert!
Self = TForm
img1 = TImage32
Delphi-Quellcode:
  img1.Bitmap.Clear(clWhite32);
  img1.Bitmap.SetSize(Self.Width, Self.Height);
  img1.Bitmap.Lock;
  try
    Self.PaintTo(img1.Bitmap.Handle, 0, 0);
  finally
    img1.Bitmap.Unlock;
  end;

Array 15. Nov 2012 13:57

AW: Frame auf TImage32 "zeichnen"
 
Danke nuclearping = Höhe und Breite hat gefehlt; manchmal sieht man vor lauter Zeilen den Code nicht mehr :)

Danke Jens01 = deine Methode ist einen Ticker sauberer als meine.


Lg


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:15 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