2012-03-08 9 views
11

मैं एक उपयोगिता वर्ग लिखने की कोशिश कर रहा हूं जो टाइलबेल वाली छवियों के स्वचालित आकार बदलने की अनुमति देता है। आइए मान लें कि एक srcBitmap है जहां से मैं एक आयताकार srcRegion द्वारा दिए गए क्षेत्र की प्रतिलिपि बनाता हूं। मैं फिर एक क्षेत्र क्षेत्र आयताकार destRegion में, बिटमप destBitmap नामक एक और छवि में उस क्षेत्र को पेस्ट (पिक्सेल सूचना के अनुसार) पेस्ट करना चाहता हूं। मुझे पता है कि स्रोत से क्षेत्र को कैसे प्राप्त किया जाए और इसे बिटमैप ऑब्जेक्ट में कैसे रखा जाए, लेकिन मैं अभी तक किसी अन्य क्षेत्र में बिटकमैप ऑब्जेक्ट को किसी अन्य क्षेत्र में बिगमैप ऑब्जेक्ट को पेस्ट करने में सक्षम नहीं हूं।सी # कॉपी एक छवि क्षेत्र को दूसरी छवि में पेस्ट करें

क्या ऐसा करने का कोई त्वरित तरीका है? (जीडीआई के बिना और बिटमैप्स के बाइट सरणी में बिना पहुंचे)। यहाँ टुकड़ा है कि मेरा लक्ष्य

private static void CopyRegionIntoImage(Bitmap srcBitmap, Rectangle srcRegion, Bitmap destBitmap, Rectangle destRegion) 
    { 
     // get the required region from the destination 
     Bitmap region = Copy(srcBitmap, srcRegion); 
    } 
+2

आप पहले से ही GDI का उपयोग कर रहे + बिटमैप वर्ग के साथ। – dvdvorle

+0

धन्यवाद! मुझे लगता है कि .NET 4.0 ढांचे में इस पुस्तकालय के चारों ओर रैपर हैं। इसके बारे में पता नहीं था, सी # और डॉटनेट मेरी रोटी और मक्खन नहीं हैं। – teodron

उत्तर

19

उपयोग स्पष्ट करना चाहिए इस:

public static void CopyRegionIntoImage(Bitmap srcBitmap, Rectangle srcRegion,ref Bitmap destBitmap, Rectangle destRegion) 
    { 
     using (Graphics grD = Graphics.FromImage(destBitmap))    
     { 
      grD.DrawImage(srcBitmap, destRegion, srcRegion, GraphicsUnit.Pixel);     
     } 
    } 
+2

आह, आप तेज़ और बेहतर थे। ऐसा नहीं देखा था कि अधिभार xD – dvdvorle

+0

धन्यवाद, मुझे अधिभार के बारे में पता नहीं था! उम्मीद है कि यह अन्य लोगों की भी मदद करेगा। सादर! – teodron

+0

+1, आपका स्वागत है –

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