Jeszcze raz skalowanie

0

Dzieki za pomoc, pomimo starań nie moglem obczaić procedury StrechDraw, byłbym wdzięczny za mały przykładzik.

Rozwinięcie problemu:

W komponencie PaintBox w wyniku różnych(skomplikowanych) obliczeń, wyrysowany zostaje pewien wykres. W zależności od wprowadzonych przez użytkownika danych wykres może mieć różne kształty i wielkości(może wychodzić poza granice komponentu i jego część jest nie widoczna!!). Chodzi o to, żeby rysunek już narysowany, i po części nie widoćzny przeskalować, by zmieścil sie w komponencie.

Chcialbym osiągnąć efekt; coś w rodzaju "Powiększenie widoku" jak np. w Word'zie.

Liczę na pomoc, pozdrawiam.

0

Nie rysuj bezpośrednio w PaintBoxie, tylko w buforze :

var
bmp : TBitmap;

potem aby powiększyć np 2 razy :

PaintBox.Canvas.StrechDraw(rect(0, 0, paintBox.width2, paintBox.height2),bmp);

wystarczy ? czy mam jeszcze tłumaczyć ?

0

Jeśli Twój wykres jest wykresem liniowym, to lepiej chyba wykorzystać TMetaFile. Jeśli zaś chodzi o skalowanie to tutaj możesz znależć dużo przydatnych informacji: http://msdn.microsoft.com/library/en-us/gdi/cordspac_784z.asp

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