ورود

View Full Version : سوال: مشکل در استفاده از TGifImage



mbshareat
شنبه 08 تیر 1398, 01:38 صبح
سلام
من از یونیت TGifImage برای باز کردن تصویر Gif استفاده می کنم.نمی دونم چرا تصویر رو خراب می کنه.یه وقتهایی سیاه نشون میده و یه وقتهایی نقاط بیخود و کارهای عجیب می کنه.این تصویر رو ملاحظه کنید:
150402
سمت چپ از محیط برنامه خودمه که حاشیه تصویر رو برش دادم.
من فقط برای تبدیل gif به بیت مپ یه کد ساده میخوام.
Graphics32 و GraphicEx هم دارم.فقط نمی دونم چطور استفاده کنم.(البته ترجیح می دم کار ساده باشه)
برنامه نمونه GraphicEx از Gif پشتیبانی نمی کنه(اما از فایل کم استفاده ای مثل psd پشتیبانی می کنه!)
اگر میشد Gif رو با استفاده از Ole باز کنم (به شرط اینکه تصویر رو خراب نکنه) بهتر بود.
این هم فایل Gif بالا:
150403

mbshareat
شنبه 08 تیر 1398, 07:48 صبح
سلام
شهادت امام صادق (ع) رو تسلیت عرض می کنم
از یه روش ساده تر استفاده کردم روی این فایل خوب عمل کرد.فقط نمی دونم چرا فکر می کنم قبلا موجب خراب شدن تصویر میشد یا یه وقتهایی مشکل جدی تری داشت.باید ببینم چی میشه.اگر دوستان راه قابل اطمینان تری سراغ دارند لطفا راهنمایی کنند
Uses
AxCtrls;
Procedure LoadGif(FileName:String;var B:TBitmap);
var
f : TFileStream;
graphic : TOleGraphic;
begin
graphic := TOleGraphic.Create;
f := TFileStream.Create (FileName,fmOpenRead or fmShareDenyNone);
try
graphic.LoadFromStream(f);
B.Width:=graphic.Width;
B.Height:=graphic.Height;
B.Canvas.draw(0,0,graphic);
//B.Assign(graphic);
finally
f.Free
end;
end;

mbshareat
دوشنبه 10 تیر 1398, 09:45 صبح
در نسخه دلفی من TOleGraghic قسمتهایی از Gif رو حذف می کنه(مثلا یه ردیف عمودی پیکسل رو حذف می کنه)
هیچ کامپوننت Gif که درست نصب بشه هم پیدا نکردم.حتی VB6 هم برای Gif مشکلی نداره و این فایل رو بی مشکل تصویری ذکر شده در بالا، میخونه.
رفتم دلفی XE2 نصب کردم.با قسمتهایی از برنامه ام مشکل داشت.
دیگه نمی دونم چه کار کنم.چهار ساعت وقت گذاشتم هیچی پیدا نکردم.
قسمت کامپوننتها هم که کسی سر نمی زنه.
پیشنهادی، راهکاری چیزی نیست؟