PDA

View Full Version : Fire Moneky in XE2 Adding Images



ahmadi3d_ali
جمعه 03 شهریور 1391, 00:22 صبح
با سلام!
می خواستم بدونم در فایر مانکی در xe2 چطور میشه فرض کنید 1000 تا عکس را در پروژه به یه imagelist ی چیزی(من به شخص چیزی پیدا نکردم!)!!! Add کرد تا موقع اجرا اد شده باشه و بعدا بشه با کد توی Timage لودش کرد!
به زبان ساده تر من فقط می خوام بدونم کجا می تونم این هارا add کنم! لود کردنش را خودم بلدم!
ممنون

BORHAN TEC
جمعه 03 شهریور 1391, 11:04 صبح
اگر سایز عکسها (طول و عرض) یکسان باشد میتوانید از همون imagelist استفاده کنید در غیر این صورت می توانید عکسها را در یک استریم و یا آرایه ای از TPicture و یا چیزی شبیه به آن اضافه کنید و در موقع اجرا از آن استفاده کنید. این هم یک نمونه ساده:
procedure TForm1.Button1Click(Sender: TObject);
var
imgArr: array [0..3] of TPicture;
begin
imgArr[0] := TPicture.Create;
imgArr[0].LoadFromFile('c:\Untitled.bmp');

// ...

Image1.Picture.Free;
Image1.Picture := imgArr[0];
end;
در خصوص مدیریت حافظه هم که احتمالاً می دانید که چکار کنید.

ahmadi3d_ali
جمعه 03 شهریور 1391, 15:45 عصر
اگر سایز عکسها (طول و عرض) یکسان باشد میتوانید از همون imagelist استفاده کنید در غیر این صورت می توانید عکسها را در یک استریم و یا آرایه ای از TPicture و یا چیزی شبیه به آن اضافه کنید و در موقع اجرا از آن استفاده کنید. این هم یک نمونه ساده:
procedure TForm1.Button1Click(Sender: TObject);
var
imgArr: array [0..3] of TPicture;
begin
imgArr[0] := TPicture.Create;
imgArr[0].LoadFromFile('c:\Untitled.bmp');

// ...

Image1.Picture.Free;
Image1.Picture := imgArr[0];
end;
در خصوص مدیریت حافظه هم که احتمالاً می دانید که چکار کنید.

نکته اینجاست که توی firemonkey چیزی با نام ImageList نداره! فقط Timage و Timage Control داره و من می خواستم که مجبور نباشم یه Array تعریف کنم ! و عکس ها را فقط به یه لیست قبل از زدن Run اضافه و بعد به موقع کد نوشتن ازشون استفاده کنم
در این رابطه خودم به TbitmapListAnimation برخوردم! آیا میشه ازش استفاده کرد و عکس ها را بهش داد !؟ آخه توی properties ش فقط یه بیت مپ مثل Timage میگیره!

BORHAN TEC
جمعه 03 شهریور 1391, 16:50 عصر
من فکر می کنم که بهترین راه استفاده از پایگاه داده SQLite باشه!!!!