Autor Beitrag
trm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Sa 09.07.11 00:45 
Folgender Code lädt eine Grafik aus einer Datei über einen Stream.
Bei dem Einlesen wird aber komischerweise aus einer jpeg - Datei von meiner Digitalkamera, das Originalbild im TOleGraphic-Object, im Speicher verkleinert.
Aus 3648x2736 Pixel wird 2736x2052 Pixel.

Woran kann das liegen?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
uses
axCtrls;

[..]

var
  OleGraphic: TOleGraphic;
  fs: TFileStream;
begin

  OleGraphic := TOleGraphic.Create;
  fs := TFileStream.Create(Filename, fmOpenRead or fmSharedenyNone);
  OleGraphic.LoadFromStream(fs);

// ein hier ermitteltes OleGraphic.Width ist ein kleinerer Wert als das Originalbild breit ist mit .Height ist es ebenso.

[..]

end;

_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)
trm Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Sa 09.07.11 20:12 
Nachtrag:

Ein Beispiel angehangen.

Außerdem habe ich gelesen, dass dieser "Fehler" abhängig von der Bildschirmauflösung ist. Sobald das Quellbild größer als der Bildschirm ist, wird es im Speicher angepasst. Als Referenz dient hierbei wohl der DC vom Desktop.

Aber wie kann man das Problem dann lösen und dennoch den Weg über TOleGraphic gehen ?
Einloggen, um Attachments anzusehen!
_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)