2012-11-05 29 views
5

यह वही है जो मुझे चाहिए: फेसबुक पेज के लिए त्वरित बनाने वाले मजेदार पोस्टर के लिए कार्यक्रम। पोस्टर में टेक्स्ट, चित्र और फ्रेम (सफेद रेखा और काला पृष्ठभूमि) है। इस मामले में, मैं पोस्टर (पीएनजी छवि) पर लोगो डालना चाहता हूं।एक तस्वीर फ्रेम कैसे जोड़ें और छवि में पाठ डालें?

तस्वीर के आकार के आधार पर, फ्रेम के आयाम (जो इस मामले में दो आकारों के होते हैं) को चित्र के लिए स्वचालित रूप से आकार बदलना चाहिए।

enter image description here

कैसे चित्र के रूप में लिंक (2 आकार घटकों, 2 छवि घटकों, 2 लेबल) से उस छवि से पोस्टर को बचाने के लिए?

इसे कैसे पूरा करें? क्या उपयोग करना है, कहां से शुरू करें?

मुझे आशा है कि यह प्रश्न हटाया नहीं जाएगा।

+0

क्या डेल्फी संस्करण उपयोग करते हैं? –

+2

आप IMHO को आकार, पैनल, लेबल इत्यादि का उपयोग नहीं करना चाहिए आप कैनवास का उपयोग कर सकते हैं उदा। असीमित राय के लिए जीडीआई + के साथ बिटमैप्स या एचडीसी का। यह मुश्किल नहीं है और आप असीमित होंगे। – bummi

उत्तर

9

आप सभी फ्रेम, आकार और एक नया TPanel (मेरे नमूने में MainPanel नाम) अंदर चित्र डाल, तो आप इस्तेमाल कर सकते हैं:

procedure savePanelAsImage(fpPanel: tPanel; fpFileName: string); 
var 
    img: TBitmap; 
begin 
    img := TBitmap.Create; 
    try 
    img.Width := fpPanel.Width; 
    img.Height := fpPanel.Height; 
    fpPanel.PaintTo(img.Canvas, 0, 0); 
    img.SaveToFile(fpFileName); 
    finally 
    img.Free; 
    end 
end; 

उपयोग:

savePanelAsImage(MainPanel, 'd:\someFolder\image001.bmp'); 

नोट्स:

  • यह वीसीएल आधारित नमूना है;
  • अन्य प्रारूप (बल्कि बीएमपी में) में छवि को सहेजने के लिए: TPngImage (Vcl.Imaging.pngImage) या TJPEGImage (Vcl.Imaging.jpeg);
  • यदि आप फ़ायरमॉन्की (> = डेल्फी एक्सई 2) का उपयोग करते हैं तो आप कुछ पेरेंट कॉम्पोनेंट का लाभ उठा सकते हैं। मेकस्क्रीनशॉट();
  • परिणामी छवि के पास टीपीनल के समान आकार होगा।

बेहतर परिणाम/लचीलापन के लिए मैं डेल्फी के लिए Graphics32 लाइब्रेरी का उपयोग करने का सुझाव दूंगा (यह परतों, छवि पुन: आकार आदि का समर्थन करता है)।

Example form

Resulting image

+0

अच्छा जवाब। स्क्रीनशॉट के साथ एक कामकाजी उदाहरण प्रदान करने और विकल्पों का सुझाव देने के लिए बोनस अंक –

+0

मैं डेल्फी XE3 का उपयोग करता हूं। उत्तर के लिए धन्यवाद, @ वाउटरवन निफ्टेरिक ने सब कुछ कहा है। :) –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^