एक TJPEGImage छवि को कैसे साफ़ करें?एक जेपीईजी छवि को कैसे साफ़ करें?
JPG.Width := 0
चाल काम नहीं करेगा। इसके अलावा मैं एक खाली बिटमैप (0x0 पिक्सल) बनाना नहीं चाहता हूं और इसे जेपीईजी को असाइन करना चाहता हूं।
एक TJPEGImage छवि को कैसे साफ़ करें?एक जेपीईजी छवि को कैसे साफ़ करें?
JPG.Width := 0
चाल काम नहीं करेगा। इसके अलावा मैं एक खाली बिटमैप (0x0 पिक्सल) बनाना नहीं चाहता हूं और इसे जेपीईजी को असाइन करना चाहता हूं।
आप कुछ इस तरह (interposed वर्ग संरक्षित तरीकों का उपयोग करने के लिए यहाँ प्रयोग किया जाता है) का उपयोग हो सकता है:
type
TJPEGImage = class(jpeg.TJPEGImage);
implementation
procedure TForm1.Button1Click(Sender: TObject);
var
JPEGImage: TJPEGImage;
begin
JPEGImage := TJPEGImage.Create;
try
// this should recreate the internal bitmap
JPEGImage.NewBitmap;
// this should recreate the internal image stream
JPEGImage.NewImage;
// here the memory used by the image should be released
finally
JPEGImage.Free;
end;
end;
आप FreeAndNil का उपयोग करें और छवि खाली रखने के लिए नहीं करना चाहते हैं ...
Procedure EmptyJPG(jpg:TJpegImage);
var
j:TJpegImage;
begin
j := TJpegImage.Create;
try
jpg.Assign(j);
finally
j.Free;
end;
end;
@Altar: मुझे लगता है कि आप 'मेरे प्रश्न में/मूल प्रश्न में', और 'ओपी में' नहीं हैं। ओपी (= मूल पोस्टर) आप हैं। –
यह एक समाधान नहीं है। यह मूल जेपीईजीआईमेज को मुक्त करने और पुनर्निर्माण करने से अधिक कुशल नहीं है (और वास्तव में कम है, क्योंकि अब आपने इसे फेंकने के अलावा किसी अन्य कारण के लिए एक नई वस्तु बनाई है)। जबकि मूल प्रश्न का कोई मतलब नहीं है, आपका प्रस्तावित समाधान भी कम समझ में आता है। (डाउनवॉटिंग नहीं, बीटीडब्लू; बस बिंदु नहीं देखें।) –
@ केनवाइट, पूर्ण सहमति है, मुझे लगता है कि एकमात्र कारण मधुमक्खियों की तरह कुछ हो सकता है: EmptyJPG (FMyMyReadOnlyPropertyJPEG) शुरू करें; Showmessage ('पहले सेट करें:' + IntToStr (FMyMyReadOnlyPropertyJPEG.CompressionQuality)) अंत; – bummi
जगह TImage घटक
Image1 : Timage
.
.
Image1.Picture.Graphic.Assign(nil);
यह मेरे प्रश्न से कैसे संबंधित है? – Ampere
आप वस्तु को मुक्त करने नहीं करना चाहते हैं पर पृष्ठभूमि पर Tshape घटक, लेकिन आप नहीं चाहते हैं कि यह अब स्मृति पर कब्जा कर ले, तो आप क्या करना चाहते हैं? –
@Rob। इसे बाद में पुन: उपयोग किया जाएगा। कई बार। वैसे भी, कारण इससे कोई फर्क नहीं पड़ता। अगर मैं अतिरिक्त संसाधनों का उपभोग किए बिना छवि को मंजूरी दे दी जा सकती है (बम्मी के सुझाव के रूप में नई वस्तुओं को बनाते हुए) तो मैं सिर्फ सादा उत्सुक हूं। – Ampere
यदि आप सब कुछ हटाना चाहते हैं तो मैं भी नहीं देख सकता कि आप क्या रख रहे हैं। जब छवि चली गई है तो क्या बचा है? वहां क्या राज्य है? –