नीचे दिए गए डेमो फॉर्म के कैनवास पर जीआईएफ खींचने की कोशिश करता है। यह काम नहीं करता है। छवि अग्रिम नहीं होगी। इसे कार्यशील कैसे करें?
मैं एक GIF से सभी फ्रेम निकालने और एक अद्वितीय बिटमैप में प्रत्येक फ्रेम रखना चाहता हूँ:एक TGifImage से बिटमैप्स में फ़्रेम निकालने के लिए कैसे?
procedure TForm1.FormCreate(Sender: TObject);
begin
GIF := TGIFImage.Create;
GIF.LoadFromFile('c:\2.gif');
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
GIF.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
VAR i: Integer;
begin
REPEAT
for i:= 0 to GIF.Images.Count-1 DO
begin
DisplayGifFrame(i);
Sleep(30);
end;
UNTIL FALSE;
end;
procedure TForm1.DisplayGifFrame(AIndex: Integer);
VAR
Renderer: TGIFRenderer;
begin
Renderer := TGIFRenderer.Create(GIF);
TRY
Renderer.Animate := TRUE;
Renderer.FrameIndex := AIndex;
Renderer.Draw(Canvas, Canvas.ClipRect);
{save frame in a bitmap here. save bitmap to disk}
// xxx
FINALLY
Renderer.Free;
end;
end;
क्या मैं हासिल करना चाहते हैं।
अद्यतन:
यहाँ जारी रहेगा: Cannot draw GIF on dynamically created TBitmap(s)
तो आपका प्रश्न वास्तव में क्या है? आपके द्वारा पोस्ट किए गए कोड के साथ आपको क्या समस्या है? आप क्या उम्मीद कर रहे हैं काम नहीं कर रहा है? अपने प्रश्न को हमारे दृष्टिकोण से पढ़ने का प्रयास करें, याद रखें कि हम आपके कोड को करने का प्रयास करने के बारे में बिल्कुल कुछ नहीं जानते हैं, आपको क्या लगता है कि यह करना चाहिए, या काम करने के बारे में कोई जानकारी नहीं है। फिर कृपया अधिक जानकारी संपादित करें और जोड़ें ताकि हम कोशिश कर सकें और आपको सहायता प्राप्त कर सकें। :-) –
मुझे नहीं पता कि कौन जल्दी से डाउनवॉटिंग कर रहा है, लेकिन कृपया रुकें। टिप्पणियों का जवाब देने के लिए पोस्टर को कुछ मिनट दें और डाउनवोट का निर्णय लेने से पहले प्रश्न को ठीक करें, खासकर जब लोग पहले से ही ऐसा करने के लिए कह चुके हैं। @Altar: "यह काम नहीं करता है" का अर्थ है किसी के लिए बिल्कुल कुछ भी नहीं। ** कृपया मेरी आखिरी टिप्पणी फिर से पढ़ें **। –
प्रश्न अद्यतन। झुंड को शांत करने के लिए धन्यवाद केन :) – Ampere