Yorumları: 174
Konuları: 21
Kayıt Tarihi: 19-06-2020
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 534 Acemi
Merhaba
windows android ios da arkası transparent ve loop-count u 1 olan gif dosyamı oynatmak istiyorum.
loop-count uda dikkate almalı bitince tekrar başlamamalı infinite değilse,
ve arka pilanı transparent yani oynatan obje arkadaki objeleride gösterebilmeli
bu problem nasıl çözülebilir?
bu link problemimi çözmüyor, kendi içinde sorunları mevcut.
Yorumları: 950
Konuları: 152
Kayıt Tarihi: 29-11-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 3.135 Uzman
Merhaba,
Şu bileşeni deneyin. işinize yarayabilir.
Eğitimim videolarımı hazırlarken gözüme çarpmıştı anlatımını yapmıştım.
Yorumları: 1.898
Konuları: 22
Kayıt Tarihi: 05-08-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 21.184 Üstad
24-11-2020, Saat: 21:45
Biraz önce bir kurgu hazırladım sizin için denemeye değer diye düşündüm.
Boş bir proje açıp Forma bir adet TButton bir adet de TImage koyarak aşağıdaki kodu bir deneyin isterseniz. İşinizi göreceğini değerlendiriyorum.
* LoopCount (0) ise sürekli loop eder, (1) veya yukarısı ise sayı kadar tekrar eder.
Uses Vcl.Imaging.GIFImg;
var
aGif : Vcl.Imaging.GIFImg.TGIFImage;
aRenderer : Vcl.Imaging.GIFImg.TGIFRenderer;
aRect : WinApi.Windows.TRect;
procedure TForm1.GifChange(Sender: TObject);
begin
if (aRenderer.LoopMax > 0) and (aRenderer.LoopCount > aRenderer.LoopMax)
then begin // aRenderer.LoopMax equals 0 means Infinite
aRenderer.Animate := False;
FreeAndNil( aRenderer );
FreeAndNil( aGif );
end
else aRenderer.Draw( Image1.Canvas, aRect );
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if NOT Assigned(aGif) then begin
aGif := TGIFImage.Create;
aGif.LoadFromFile( 'c:\ARMAN.Study\Downloads\ezgif.com-gif-maker.gif' );
aGif.OnChange := GifChange;
end;
if Assigned(aRenderer) then FreeAndNil( aRenderer );
aRenderer := TGIFRenderer.Create( aGif );
aRect := Rect(0, 0, aGif.Width, aGif.Height);
aRect.offset((Image1.Width - aGif.Width) div 2, (Image1.Height- aGif.Height) div 2);
aRenderer.Animate := True;
aRenderer.StartAnimation;
aRenderer.Draw(Image1.Canvas, aRect);
aGif.Animate := True;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if Assigned( aGif ) then begin
aGif.Animate := False;
FreeAndNil( aRenderer );
FreeAndNil( aGif );
end;
end;

Saygılarımla
Muharrem ARMAN
Yorumları: 174
Konuları: 21
Kayıt Tarihi: 19-06-2020
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 534 Acemi
25-11-2020, Saat: 08:09
(Son Düzenleme: 25-11-2020, Saat: 08:09, Düzenleyen: hayalyilmaz43.)
(24-11-2020, Saat: 20:13)Mr.Developer Adlı Kullanıcıdan Alıntı: Merhaba,
Şu bileşeni deneyin. işinize yarayabilir.
Eğitimim videolarımı hazırlarken gözüme çarpmıştı anlatımını yapmıştım.
teşekkürler.
(24-11-2020, Saat: 21:45)mrmarman Adlı Kullanıcıdan Alıntı: Biraz önce bir kurgu hazırladım sizin için denemeye değer diye düşündüm.
Boş bir proje açıp Forma bir adet TButton bir adet de TImage koyarak aşağıdaki kodu bir deneyin isterseniz. İşinizi göreceğini değerlendiriyorum.
* LoopCount (0) ise sürekli loop eder, (1) veya yukarısı ise sayı kadar tekrar eder.
Uses Vcl.Imaging.GIFImg;
var
aGif : Vcl.Imaging.GIFImg.TGIFImage;
aRenderer : Vcl.Imaging.GIFImg.TGIFRenderer;
aRect : WinApi.Windows.TRect;
procedure TForm1.GifChange(Sender: TObject);
begin
if (aRenderer.LoopMax > 0) and (aRenderer.LoopCount > aRenderer.LoopMax)
then begin // aRenderer.LoopMax equals 0 means Infinite
aRenderer.Animate := False;
FreeAndNil( aRenderer );
FreeAndNil( aGif );
end
else aRenderer.Draw( Image1.Canvas, aRect );
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if NOT Assigned(aGif) then begin
aGif := TGIFImage.Create;
aGif.LoadFromFile( 'c:\ARMAN.Study\Downloads\ezgif.com-gif-maker.gif' );
aGif.OnChange := GifChange;
end;
if Assigned(aRenderer) then FreeAndNil( aRenderer );
aRenderer := TGIFRenderer.Create( aGif );
aRect := Rect(0, 0, aGif.Width, aGif.Height);
aRect.offset((Image1.Width - aGif.Width) div 2, (Image1.Height- aGif.Height) div 2);
aRenderer.Animate := True;
aRenderer.StartAnimation;
aRenderer.Draw(Image1.Canvas, aRect);
aGif.Animate := True;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if Assigned( aGif ) then begin
aGif.Animate := False;
FreeAndNil( aRenderer );
FreeAndNil( aGif );
end;
end;

teşekkürler.
Yorumları: 220
Konuları: 46
Kayıt Tarihi: 16-03-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 273 Acemi
(24-11-2020, Saat: 20:13)Mr.Developer Adlı Kullanıcıdan Alıntı: Merhaba,
Şu bileşeni deneyin. işinize yarayabilir.
Eğitimim videolarımı hazırlarken gözüme çarpmıştı anlatımını yapmıştım.
Projeyi build ederken resimdeki hataları alıyorum
https://i.hizliresim.com/2nazh9t.png
Yorumları: 1.031
Konuları: 31
Kayıt Tarihi: 22-07-2016
Aktif Kullandığınız Delphi Sürümü:
- Delphi 13
- Delphi 12
- Delphi 11
- Delphi 10 Serisi
Rep Puanı: 5.260 Üstad
(24-04-2023, Saat: 21:33)quiet1day Adlı Kullanıcıdan Alıntı: (24-11-2020, Saat: 20:13)Mr.Developer Adlı Kullanıcıdan Alıntı: Merhaba,
Şu bileşeni deneyin. işinize yarayabilir.
Eğitimim videolarımı hazırlarken gözüme çarpmıştı anlatımını yapmıştım.
Projeyi build ederken resimdeki hataları alıyorum
https://i.hizliresim.com/2nazh9t.png
1- Project Manager > Proje üzerinde sağ tuş ile Clean
2- Delphi IDE Project > Deployment ---> Revert To Default
3- Build
Begin : = end / 2;
Yorumları: 220
Konuları: 46
Kayıt Tarihi: 16-03-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 273 Acemi
(25-04-2023, Saat: 09:34)RAD Coder Adlı Kullanıcıdan Alıntı: (24-04-2023, Saat: 21:33)quiet1day Adlı Kullanıcıdan Alıntı: Projeyi build ederken resimdeki hataları alıyorum
https://i.hizliresim.com/2nazh9t.png
1- Project Manager > Proje üzerinde sağ tuş ile Clean
2- Delphi IDE Project > Deployment ---> Revert To Default
3- Build
Cevabınız için teşekkürler . Aşamaları uyguladığımda ;
https://i.hizliresim.com/j033vqa.png
hatasını veriyor
Yorumları: 1.031
Konuları: 31
Kayıt Tarihi: 22-07-2016
Aktif Kullandığınız Delphi Sürümü:
- Delphi 13
- Delphi 12
- Delphi 11
- Delphi 10 Serisi
Rep Puanı: 5.260 Üstad
(25-04-2023, Saat: 17:35)quiet1day Adlı Kullanıcıdan Alıntı: (25-04-2023, Saat: 09:34)RAD Coder Adlı Kullanıcıdan Alıntı: 1- Project Manager > Proje üzerinde sağ tuş ile Clean
2- Delphi IDE Project > Deployment ---> Revert To Default
3- Build
Cevabınız için teşekkürler . Aşamaları uyguladığımda ;
https://i.hizliresim.com/j033vqa.png
hatasını veriyor
Sanırım sorun, AndroidManifest.template dosyasından kaynaklıydı. Dosyayı silince sorunsuz çalışıyor.
Örnek uygulamanın Delphi 11.3.1 ile çalışan hali ektedir.
GIFImageDemo.zip (Dosya Boyutu: 3,23 MB / İndirme Sayısı: 17)
Begin : = end / 2;
Yorumları: 220
Konuları: 46
Kayıt Tarihi: 16-03-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 273 Acemi
01-05-2023, Saat: 16:24
(Son Düzenleme: 01-05-2023, Saat: 16:27, Düzenleyen: quiet1day.)
(26-04-2023, Saat: 09:48)RAD Coder Adlı Kullanıcıdan Alıntı: (25-04-2023, Saat: 17:35)quiet1day Adlı Kullanıcıdan Alıntı: Cevabınız için teşekkürler . Aşamaları uyguladığımda ;
https://i.hizliresim.com/j033vqa.png
hatasını veriyor
Sanırım sorun, AndroidManifest.template dosyasından kaynaklıydı. Dosyayı silince sorunsuz çalışıyor.
Örnek uygulamanın Delphi 11.3.1 ile çalışan hali ektedir.
Eklediğiniz dosyayı yüklemeye çalışıyorum olmuyor , clean ediyorum , lib'i revart ediyorum temiz build ediyorum tekrar deniyorum olmuyor bu delphi bana kafayı yedirecek.
https://i.imgyukle.com/img/2023/05/01/Q7SSK1.png
https://i.imgyukle.com/img/2023/05/01/Q7SHgs.png
Yorumları: 1.031
Konuları: 31
Kayıt Tarihi: 22-07-2016
Aktif Kullandığınız Delphi Sürümü:
- Delphi 13
- Delphi 12
- Delphi 11
- Delphi 10 Serisi
Rep Puanı: 5.260 Üstad
(01-05-2023, Saat: 16:24)quiet1day Adlı Kullanıcıdan Alıntı: (26-04-2023, Saat: 09:48)RAD Coder Adlı Kullanıcıdan Alıntı: Sanırım sorun, AndroidManifest.template dosyasından kaynaklıydı. Dosyayı silince sorunsuz çalışıyor.
Örnek uygulamanın Delphi 11.3.1 ile çalışan hali ektedir.
Eklediğiniz dosyayı yüklemeye çalışıyorum olmuyor , clean ediyorum , lib'i revart ediyorum temiz build ediyorum tekrar deniyorum olmuyor bu delphi bana kafayı yedirecek.
https://i.imgyukle.com/img/2023/05/01/Q7SSK1.png
https://i.imgyukle.com/img/2023/05/01/Q7SHgs.png
Eklediğiniz ekran resimleri görünmüyor.
Begin : = end / 2;
|