Forum: Programmieren allgemein
by himitsu,
31. Okt 2012
Ähhh, wieso nicht einfach so?
Canvas.StretchDraw(ClientRect, Image1.Picture.Graphic);
Aber warum willst du das Bild von einem TImage manuell auf die Form malen und läßt es nicht das Image machen?
(Align und Stretch)
Wird das TImage nur als "interner" Bild-Container genutzt?
Wenn ja, wieso?
Dafür ist TPicture da.
Forum: Programmieren allgemein
by himitsu,
30. Okt 2012
Stimmt.
Klang aber danach, daß es schon reingeladen wurde.
Nja, entweder man holt/speichert dort, von wo der Stream, bzw. das Bild kommt, auch das noch Format und schon hat man es.
Ansonsten kann man es natürlich auch auf die brutale Variante (Bruteforce) versuchen.
- alle bekannten Graphic-Typen (TBitmap, TJPegImage, ...) durchprobieren und da wo es nicht knallt, dort passt...
Forum: Programmieren allgemein
by himitsu,
30. Okt 2012
Wenn das Bild schon in TGraphic drinsteckt, dann kannst du natürlich auch direkt den Typ der Graphic-Instanz prüfen.
(Picture.Graphic is TBitmap) = ein Bitmap
usw.
eventuell hilft auch
GetFileFormats.BuildFilterStrings(TGraphicClass(Picture.Graphic.ClassType), Descriptions, Filters);
ShowMessage(Descriptions + sLineBreak + Filters);