ورود

View Full Version : اشکال در نمایش عکس



PAVAROTTI
یک شنبه 10 دی 1385, 01:03 صبح
با سلام
من در حال نوشتن برنامه ای هستم و بنا به دلایلی نیاز به استفاده از Canvas.Draw در
نمایش عکس دارم ...
برنامه بار اول عکس رو درست نمایش میده ولی وقتی عکس دوم را باز می کنم عکس
کامل نمایش داده نمیشه ...
مثلا اگر عکس اول کوچک باشد و عکس دوم بزرگ فقط قسمتی از عکس دوم به اندازه
عکس اول نمایش داده میشه!!

این کد این قسمت از برنامه:
procedure TForm1.Button1Click(Sender: TObject);
begin
OpenPictureDialog1.Execute;
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
Pic:=TBitmap.Create;
Pic.LoadFromFile(OpenPictureDialog1.FileName);
Image1.Width:=Pic.Width;
Image1.Height:=Pic.Height;
Image1.Canvas.Draw(0,0,Pic);
pic.Free;
end;

با تشکر فراوان از شما

Behzad_Asharkhan
دوشنبه 11 دی 1385, 11:39 صبح
سلام

روش کارت عجیب به نظر میاد ولی خ.ب گفتی بنا به دلایلی...

میشه این کارو انجام داد.
- AutoSize رو در Image برابر True کن.
- این دو خط رو حذف کن
Image1.Width:=Pic.Width;
Image1.Height:=Pic.Height;
و اینو جاش بنویس
Image1.Picture.Bitmap.Width := pic.Width;
Image1.Picture.Bitmap.Height := pic.Height;


یه کار دیگه هم میشه کرد.
- باز هم Image بصورت Autosize بشه
- اون دو خط هم دوباره حذف بشه
- بجای Image1.Canvas.Draw(0,0,pic)
اینو بنویس
Image1.Picture.Bitmap.Assign(pic);

درست میشه

دسترسی به Image.Canvas هم مشکلی نداره. میشه اطلاعات رو از اونجا خوند. تست کردم