PDA

View Full Version : سوال: باز کردن تصویر webP در TImage



mbshareat
سه شنبه 24 تیر 1404, 12:40 عصر
سلام علیکم
میخوام فایل فرمت WebP رو در برنامه نمایش بدم.(اگر بشه به بیت مپ تبدیل کرد هم خوبه ولی فعلا راه طولانی نریم)
میخوام در برنامه ای که در نسخه های جدید دلفی کار نمی کنه این فایل رو باز کنم.
بنابر این کد یا کامپوننتی میخوام که مثلا در دلفی 7 کار کنه.
یه ساعتی در گوگل چرخیدم و نا امید شدم.
چنین صفحه ای (https://www.imageen.com/help/index.php?topic=TImageEnIO&m=7) وجود داره ولی ظاهرا به کارم نمیاد.(کامپوننت ImageEn)
یه جای دیگه (https://github.com/Wykerd/delphi-webp) هم سورس و dll پیدا کردم ولی نمی دونستم چطور استفاده کنم.
اگر کسی در این زمینه کار کرده، ممنون میشم کمک کنه.
(نکته:استفاده از dll رو بلد نیستم و ترجیح میدم یه کامپوننت ساده نصب کنم یا از چند pas ساده استفاه کنم)
در کل تعجب نمی کنم که برای دلفی های قدیم راهی پیدا نشه:افسرده:

masoode
چهارشنبه 25 تیر 1404, 11:53 صبح
https://github.com/Wykerd/delphi-webp

mbshareat
دوشنبه 30 تیر 1404, 20:58 عصر
ممنون. لینک خودم رو گذاشتید:لبخند: ولی چط.ر استفاده کنم؟

دلفــي
شنبه 11 مرداد 1404, 12:10 عصر
اگر از دلفی نسخه ۱۰.۴ یا بالاتر استفاده می‌کنید، می‌توانید از Vcl.Imaging.WebP برای بارگذاری و نمایش تصاویر WebP استفاده کنید.
در صورت استفاده از نسخه‌های قدیمی‌تر دلفی، می‌توانید از کتابخانه‌هایی مانند ImageEn یا Delphi-Image-Load برای پشتیبانی از فرمت WebP استفاده کنید.

نمونه کد برای کامپوننت ImageEn:


uses
ImageEnView;

procedure TForm1.LoadWebPImage(const FileName: string);
begin
ImageEnView1.IO.LoadFromFile(FileName); // بارگذاری فایل WebP
end;

mbshareat
سه شنبه 14 مرداد 1404, 12:50 عصر
ممنون. دلفی من قدیمیه. ImageEn رو دارم اما بلد نیستم نصب کنم. در پوشه نسخه دلفی خودم فایلهایی با پسوند dpk ,res وجود داره . وقتی روی dpk ها کلیک می کنم. هر کدوم یه ایرادی داره و کامپایل نمیشه. و به نظر نمیرسه هیچکدوم کامپوننت نصب کنند

mbshareat
سه شنبه 14 مرداد 1404, 13:40 عصر
کامپوننت بعد از کلی دردسر نصب شد و وقت اجرای برنامه مرتب می گفت فلان فایل نیست.کل فایلهای سورس رو ریختم کنار برنامه. نتیجه این شد که برنامه فقط ایراد نمی گیره اما فایل تصویر رو هم نشون نمیده.
procedure TForm1.LoadWebPImage(const FileName: string);begin
ImageEnView1.IO.LoadFromFile(FileName);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
LoadWebPImage('C:\A.WebP');
end;

یادم بود دکمه رو فشار بدم!
Delphi-Image-Load کامپوننت هست؟(چون دیگه داره از Image En بدم میاد.هم کلی فایل داره و هم بی مصرف بود)
ظاهرا این فرمت تصویر میتونه Jpg,png,.. هم باشه. به همین دلیل گاهی پسوند رو عوض کنیم به عنوان Jpg خونده میشه. منبع من برای این فایل این صفحه (https://convertico.com/samples/webp/) بود.

رفتم برنامه دمو رو از این لینک (http://www.imageen.com/files/demos/run/ImageEditing/CompleteEditor/PhotoEn.exe)دانلود کردم و با دو فایل WebP تست کردم و نتونست هیچکدوم رو باز کنه!
(حواستون باشه، کلیک روی لینک (
Complete Editor>Run Demo) از صفحه (https://www.imageen.com/help/index.php?topic=TImageEnIO.LoadFromFileWebP&m=8) موجب دانلود نمیشه و حتما باید دستی پیوند رو در نوار آدرس وارد کنید و Ent بزنید!!)