سلام دوستان.
خودم تونستم مشکل رو حل کنم. سایز تصویر دفورم شده رو میشه از روی نسبت بین طول و عرض تصویر اصلی به ضلع معلوم در تصویر دفورمه پیدا کرد. (جدول تناسب)
//PicW,PicH = Original image sizes
//TimgW,TimgH = Timage sizes
//Result = Deformed sizes
function DeformSize(TimgW,TimgH,PicW,PicH:integer&# 41;: TPoint;
var xyaspect: Double;
begin
if (PicW > TimgW) or (PicH > TimgH) then
begin
if (PicW > 0) and (PicH > 0) THen
begin
xyaspect := PicW / PicH;
if PicW > PicH then
begin
PicW := TimgW;
PicH := Trunc(TimgW / xyaspect);
if PicH > TimgH then // PicWoops, too big
begin
PicH := TimgH;
PicW := Trunc(TimgH * xyaspect);
end;
end
else
begin
PicH := TimgH;
PicW := Trunc(TimgH * xyaspect);
if PicW > TimgW then // PicWoops, too big
begin
PicW := TimgW;
PicH := Trunc(TimgW / xyaspect);
end;
end;
end
else
begin
PicW := TimgW;
PicH := TimgH;
end;
end;
Result.x:=0;
Result.y:=0;
Result:=Point(PicW,PicH);
end;