![]() |
GetOlePicture verändert Größe des Bildes
Hallo,
ich versuche über GetOlePicture und SetOlePicture Bilder an ein ActiveX Control und wieder zurück zu übergeben. Prinzipiell funktioniert das auch, allerdings verändert sich durch die Überagbe die Größe des Bitmaps... Beispiel:
Code:
Im ActiveX Control mache ich dann folgendes:
var
IPic : IPictureDisp; begin FPicture := TPicture.Create(); FPicture.LoadFromFile('c:\test.bmp'); GetOlePicture(FPicture, IPic); //Übergabe an ActiveX Control FGrid.SetImage(I_Pic as IPicture); end;
Code:
imgMap (ein TImage auf dem Formular) enthält nun korrekterweise das Bild, allerdings hat sich die ursprüngliche Größe von 80x300 Pixel auf 60x225 reduziert. Interessanterweise wird durch Stretch := true das Bild völlig korrekt dargestellt, wenn man das TImage auf 80x300 setzt, d.h. ohne jeden Verlust und ohne Interpolation, was mich darauf schließen lässt, dass die Daten dann wohl doch irgendwie richtig übergeben werden...
FPicture := TPicture.Create();
SetOlePicture(imgMap.Picture, image as IPictureDisp); Das Problem betrifft Delphi 2010, ich weiß, dass in früheren Delphi-Versionen (5,6,7) ein Bug existierte, habe aber nichts für neuere Versionen gefunden. Hat jemand von euch einen Tipp dazu? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 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-2025 by Thomas Breitkreuz