PDA

View Full Version : نمایش تصویر پیش فرض image



khoshblagh
سه شنبه 24 شهریور 1388, 09:02 صبح
با سلام خدمت دوستان
در فرم اصلی برنامه از یک image استفاده شده که در زمان طراحی به طور پیش فرض به آن تصویری اختصاص دادم . در زمان اجرای برنامه با زدن دکمه ای میتوان تصویری دیگری را به جای آن جایگزین کرد. حالا اگر بخواهم با زدن دکمه ای تصویر اولیه که در زمان طراحی به اختصاص دادم را نمایش دهم چه کاری باید انجام دهم ؟ متشکرم

shervin farzin
سه شنبه 24 شهریور 1388, 11:01 صبح
سلام
من پيشنهاد ميكنم عكس پيش فرض رو به صورت Resource داخل فايل EXE ذخيره كنيد و
در زمان مورد نظرتون مجددا بخونيدش.
موفق باشيد.

Hamid.Kad
سه شنبه 24 شهریور 1388, 11:05 صبح
قبل از تغییر تصویر، تصویر فعلی را با متد Picture.SaveToFile یه جایی ذخیره کنید. بعد از زدن دکمه، دوباره با متد LoadFromFile بازیابیش کنید
اگر هم نمی خواهید جایی ذخیره بشه یه کنترل image بذارید روی فرم که قابل رویت نباشه. قبل از تغییر تصویر picture ها رو نسبت بدید

Image2.Picture:= Image1.Picture
بعد هم که میتونید برعکس همین کار رو انجام بدید

hadisalahi2
سه شنبه 24 شهریور 1388, 12:13 عصر
احتیاج به کنترل image نیست.میتونید یک متغیر از نوع Timage تعریف کرده و قبل از تغییر عکس اون رو داخل متغیر بریزید بعد هم موقع بازیابی مجددا مقدار متغیر رو داخل عکس اصلی بریزید.

khoshblagh
سه شنبه 24 شهریور 1388, 12:49 عصر
سلام
من پيشنهاد ميكنم عكس پيش فرض رو به صورت Resource داخل فايل EXE ذخيره كنيد و
در زمان مورد نظرتون مجددا بخونيدش.
موفق باشيد.
من هم همین کار را کردم ولی نمیدانم چطور مجددا آنرا بازیابی نمایم؟

khoshblagh
سه شنبه 24 شهریور 1388, 12:51 عصر
احتیاج به کنترل image نیست.میتونید یک متغیر از نوع Timage تعریف کرده و قبل از تغییر عکس اون رو داخل متغیر بریزید بعد هم موقع بازیابی مجددا مقدار متغیر رو داخل عکس اصلی بریزید.
میشه با یک مثال ساده کدهای مربوطه را بنویسید؟ متشکرم

hadisalahi2
سه شنبه 24 شهریور 1388, 12:52 عصر
خوب روش بازیابی که انجام می دهید چطوریه؟

Hamid.Kad
سه شنبه 24 شهریور 1388, 13:51 عصر
شما فرض کن عکستون توی کنترل image1 باشه.
هر وقت خواستی عکسش رو عوض کنی قبلش بنویس:

img.picture:= image1.picture
(البته میتونید خاصیت پیکچر رو هم ننویسید) قبلش هم img رو تعریف کنید.

var img:TImage; begin img:= TImage.create(self)....
هر وقت خواستید بازیابی کنید بنویسید

Image.picture:= img.picture


من هم همین کار را کردم ولی نمیدانم چطور مجددا آنرا بازیابی نمایم؟


image1.picture.loadfromfile('your file address')

Mahmood_M
سه شنبه 24 شهریور 1388, 13:52 عصر
من هم همین کار را کردم ولی نمیدانم چطور مجددا آنرا بازیابی نمایم؟
برای لود کردن فایل Bitmap از رسورس به داخل یک TImage می تونید به صورت زیر عمل کنید ...

Image1.Picture.Bitmap.LoadFromResourceName(HInstan ce, 'BITMAP');
Bitmap همون نام فایل تصویری در فایل رسورس هست ...
اگر در ساخت و استفاده از فایلهای رسورس مشکل دارید بگید تا نمونه ی قرار بدم ...

موفق باشید ...

khoshblagh
چهارشنبه 25 شهریور 1388, 07:41 صبح
اگر در ساخت و استفاده از فایلهای رسورس مشکل دارید بگید تا نمونه ی قرار بدم

ممنون میشم یک نمونه ارائه بدید. متشکرم

shervin farzin
چهارشنبه 25 شهریور 1388, 10:32 صبح
سلام
برنامه ضميمه چگونگي استفاده از فايل Rsource در برنامه رو نشون ميده.
موفق باشيد.

khoshblagh
چهارشنبه 25 شهریور 1388, 12:50 عصر
سلام
برنامه ضميمه چگونگي استفاده از فايل Rsource در برنامه رو نشون ميده.
موفق باشيد.
ظاهرا تصور من از فايل Rsource غلط میباشد. همانطور که در پست اول عرض کردم در روی فرم یک image قرار دادم و از طریق پراپرتی picture تصویری را انتخاب نمودم. بنابراین این تصویر در فایل exe برنامه قرار دارد. من به دنبال کدی هستم که این فایل درون کامپوننت را مجددا نمایش بدهد. متشکرم

shervin farzin
چهارشنبه 25 شهریور 1388, 13:55 عصر
سلام
تا جايي كه من اطلاع دارم دلفي داده هايي از قبيل عكس رو با فرمت RCDATA داخل فايل Resource
ذخيره ميكنه كه در نتيجه بازيابي اونها فقط با ساخت مجدد اونها به شكل يك فايل جدا
امكان پذيره ( متدي كه دوست گرامي Hamid.Kad در پست شماره 3 عنوان كرد ).
اما در صورتي كه شما بخوايد خودتون فايل عكس رو داخل فايل EXE برنامه ذخيره كنيد، بايد
خودتون اقدام به ساخت يك فايل Resource كنيد و عكس مورد نظرتون رو با فرمت JPEG يا BMP
ذخيره كنيد. نحوه بازيابي اون رو هم در برنامه ضميمه براي شما نشون دادم.
براي درست كردن فايل Resource منابع آموزشي زيادي در Internet هست، يك نمونه لينك زير از
سايت Delphi.About هست :
http://delphi.about.com/od/objectpascalide/a/embed_resources.htm
موفق باشيد.

khoshblagh
چهارشنبه 25 شهریور 1388, 18:09 عصر
با تشکر از جناب shervin farzin
پس اون تصویری که در موقع طراحی برنامه از طریق پراپرتی image در خاصیت picture لود میشود چه وضعی داره ؟ متشکرم

shervin farzin
چهارشنبه 25 شهریور 1388, 19:30 عصر
سلام

پس اون تصویری که در موقع طراحی برنامه از طریق پراپرتی image در خاصیت picture لود میشود چه وضعی داره ؟
همونطور كه عرض كردم تا جايي كه من خبر دارم دلفي اين تصوير رو هم به صورت Resource
ذخيره ميكنه اما با فرمت RCDATA. در مورد اين فرمت اطلاعات جامعي در اون لينكي كه قرار دادم
ميتونيد پيدا كنيد.