PDA

View Full Version : تغییر عکس پس زمینه برنامه



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

mehdimdp
سه شنبه 17 شهریور 1388, 10:19 صبح
فقط كافيه كه يه OpenPictureDialog بذاري و يه كليد. كه هروقت اون كليد زده شد OpenPictureDialog اجرا بشه و يك فايل تصوير توسط كاربر انتخاب شد اونو بذاريش براي image
اينطوري:


if OpenPictureDialog1.Execute then
Image1.Picture.LoadFromFile(OpenPictureDialog1.Fil eName)

khoshblagh
سه شنبه 17 شهریور 1388, 11:50 صبح
فقط كافيه كه يه OpenPictureDialog بذاري و يه كليد. كه هروقت اون كليد زده شد OpenPictureDialog اجرا بشه و يك فايل تصوير توسط كاربر انتخاب شد اونو بذاريش براي image
اينطوري:


if OpenPictureDialog1.Execute then
Image1.Picture.LoadFromFile(OpenPictureDialog1.Fil eName)

با تشکر از پاسختان
می ماند اینکه بعد خاتمه برنامه و شروع مجدد برنامه همان تصویر اولیه نمایش داده میشود. حالاچطور میشود کاری کرد که عکس انتخاب شده فعلی بار دیگر که برنامه را اجرا نمائیم به جاری تصویر اولیه نمایش داده شود؟ یعنی اینکه کاربر هر عکسی را که انتخاب نماید به عنوان عکس پیش فرض با اجرای برنامه نمایش داده شود؟ متشکرم

Felony
سه شنبه 17 شهریور 1388, 13:02 عصر
بهترین راه این هست :

1. متغیر Dir رو از نوع رشته ای و به صورت سراسری تعریف کنید .
2. کد زیر رو در رویداد OnActivate فرمتون بنویسید :

Image1.Picture.LoadFromFile(Dir+'Back.bmp');
3. کد زیر رو هم در رویداد کلیک ، کلید دکمه مورد نظرتون که قراره عکس جدید رو بارگزاری کنه :

Dir:=ExtractFilePath(Application.ExeName);
if OpenPictureDialog1.Execute then begin
CopyFile(PChar(OpenPictureDialog1.FileName),PChar( Dir+'Back.bmp'),False);
Image1.Picture.LoadFromFile(Dir+'Back.bmp');
end;

راه دیگه هم این هست که آدرس عکس رو در یک فایل ini یا در یک کلید در رجیستری ذخیره کنید و هنگام بارگزاری برنامه اون آدرس رو بخونید و عکس رو بارگزاری کنید ، ولی در کل راه اول بهتره چون ممکنه موقع بارگزاری عکس که آدرس رو داریم عکس سر جای قبلیش نباشه یا نامش عوض شده باشه .

majid_ramak
سه شنبه 17 شهریور 1388, 13:08 عصر
میشه مسیر عکس رو در یک فایل ذخیره کرد.




procedure TMainForm.Button1Click(Sender: TObject);
var
FText: TextFile;
begin
if OpenPictureDialog.Execute then
Image.Picture.LoadFromFile(OpenPictureDialog.FileN ame);
try
AssignFile(FText, 'C:\Picture.txt');
Rewrite(FText);
Write(FText, OpenPictureDialog.FileName);
finally
CloseFile(FText);
end;
end;






procedure TMainForm.FormShow(Sender: TObject);
var
FText: TextFile;
FAddress: string;
begin
if (FileExists('C:\Picture.txt')) then
begin
try
AssignFile(FText, 'C:\Picture.txt');
Reset(FText);
Read(FText, FAddress);
Image.Picture.LoadFromFile(FAddress);
finally
CloseFile(FText);
end;
end;
end;

mehdimdp
چهارشنبه 18 شهریور 1388, 17:56 عصر
ساده ترين راه اينه كه هميشه آدرس image برابر با يك نام خاص باشه (مثلا back.jpg)
و هروقت دستور زير اجرا شد

if OpenPictureDialog1.Execute then

بياي يه كپي از فايل انتخاب شده بگيري و اونو با نام back.jpg در كنار پروژه ذخيره كني
خيلي راحت و آسوده بدون نياز به كدنويسي

mortea
چهارشنبه 08 آبان 1392, 12:19 عصر
خسته نباشید منم به همین مشکل برخوردم اما نمیدونم چکار کنم

بچه ها میشه یکم واضح تر بگید به زبان C#‎ هم کد ها را میشه بنویسید؟

mortea
چهارشنبه 08 آبان 1392, 12:23 عصر
آقا ماهان میتونی بگی image1 و back.bmp چیه؟

یوسف زالی
چهارشنبه 08 آبان 1392, 16:35 عصر
image1 اسم شی مورد استفاده در دلفی برای نمابش عکسه.
back.bmp هم اسم تصویرتون تو کامپیوتره.
اینجا هم تالار دلفیه، سی شارپ نیست.
موفق باشید.