TImage i wmf - nieprawidłowe wczytanie obrazka

0

Witam serdecznie,

Zwracam się z prośbą o pomoc do osób, które więdzą więcej na temat grafiki - ja jestem laikiem.

Problem jest następujący:

Do Image wczytywany jest obrazek *.wmf (windows metafile) poprzez Image1.Picture.Metafile.LoadFromFile(sciezka+'.wmf'). Jest to plik wygenerowany z autoCada - czyli z grafiką wektorową.
Po otwarciu obrazka w TImage, okazuję się iż jest on zniekształcony, tzn został zwężony, i tekst który został zamieszczony jeszcze w AutoCad'zie na tym obrazku jest bardzo ściśnięty (litery zachodzą na siebie). Wygląda to tak (okiem laika), jak gdyby obraz o rozdzielczości XxY został wczytany na powierzchnię X na X - kwadrat.
Rozciąganie obrazka poprzez image.width lub metafile.mmwidth itd nie przynosi rezultatów. Proszę o podpowiedzi i ew. przykłady.

ps. Program będzie wczytywał wiele plików tego rodzaju, i praktycznie oprócz tego że ewentualnie będzie mi odpowiadać otwieranie plików typu *.dxf (lecz nie wiem jak to zrobić) żadna inna opcja nie wchodzi w rachubę.

Z góry dziękuję i pozdrawiam

0

Nigdy nie bawiłem się wmf'ami, ale może spróbuj zaczytywać go normalnie, tzn:
image.Picture.LoadFromFile
Może też spróbuj ustawić AutoSize na true

0

Wszystkie te rzeczy wypróbowałem - efekt ten sam. Zauważyłem jeszcze jedną sprawę. Przeglądarki też różnie to otwierają. Np ACDsee otwiera dobrze, natomiast InfranViewer już źle, czyli tak jak mój Image.

A może znacie jakieś darmowe (do komercyjnych celów) komponenty, które mogę zastosować do otwarcia wmf lub dxf (AutoCad).

dzięki za odpowiedź

0

to wyswietla obraz ciutke inaczej niz zwylky TImage, moze cos zmieni...:

uses axCtrls;
[...]
var
  OleGraphic: TOleGraphic;
  fs: TFileStream;
begin
  try
    OleGraphic := TOleGraphic.Create;
    fs         := TFileStream.Create('C:\ppp.wmf', fmOpenRead or fmSharedenyNone);
    OleGraphic.LoadFromStream(fs);
    Image1.Picture.Assign(OleGraphic);
  finally
    fs.Free;
    OleGraphic.Free
  end;
0

cimak wielkie dzięki. Jest o wiele lepiej, rzekłbym prawie super. Nigdy nie korzystałem z Ole, więc może zacznę ... Jeszcze raz dziękuję za pomoc.
pozdrawiam,

1 użytkowników online, w tym zalogowanych: 0, gości: 1