ورود

View Full Version : سوال: تغییر رزولوشن عکس ؟



saeed729
یک شنبه 12 خرداد 1392, 08:55 صبح
سلام دوستان

به نظر شما چطوری میشه رزولوشن یک عکس رو تغییر داد؟

مثلا از رزولوشن 178.512 به 255

با تشکر.

بهروز عباسی
دوشنبه 13 خرداد 1392, 01:03 صبح
الان خستم حوصله نداشتم از این بهتر بنویسم.


function Resize_Image(const ASrcBitmap: TBitmap;
const APercent: extended): TBitmap;
var
R: TRect;
FResize_bmp: TBitmap;
FResize_jpg: TJpegImage;
begin
FResize_bmp := TBitmap.Create;
FResize_jpg := TJpegImage.Create;
try
FResize_bmp.FreeImage;
FResize_jpg.Assign(ASrcBitmap);
R := Rect(0, 0, Round(FResize_jpg.Width * APercent),
Round(FResize_jpg.Height * APercent));
FResize_bmp.Width := R.Right;
FResize_bmp.Height := R.Height;
FResize_bmp.Canvas.StretchDraw(R, FResize_jpg);
Result := FResize_bmp;

finally

end;
end;

{0.80}

ResultBitmap := Resize_Image(ResultBitmap, ResizePercent)

saeed729
دوشنبه 13 خرداد 1392, 15:25 عصر
سلام

ممنون از مثالی که زدید.
فقط روش استفاده از Resize_Image که گفتید چه شکلی هست؟

با تشکر.

یوسف زالی
دوشنبه 13 خرداد 1392, 15:27 عصر
در توضیح مثال دوستمون:

از StretchDraw استفاده کنید. در شی Canvas


Image2.Canvas.StretchDraw(Rect(1, 1, 100, 100), Image1.Picture.Graphic);


اصل کار رو همین کد انجام می ده. بقیه برای سایز عکس خروجی و فرمتش هست.