2015-11-08 9 views
6

में दाखिल करने के लिए क्लिपबोर्ड से छवि को बचाने के लिए वहाँ UWP (विंडोज यूनिवर्सल प्लेटफार्म) के लिएकैसे UWP

Clipboard.GetImage().Save(FileName, Imaging.ImageFormat.Jpeg) 

के किसी भी बराबर है? आईई। क्लिपबोर्ड से ग्राफिक्स छवि को फ़ाइल में जेपीजी प्रारूप में सहेजना।

मैं vb.net/C# में उदाहरण ढूंढ रहा हूं।

मैं पहले से ही

Dim datapackage = DataTransfer.Clipboard.GetContent() 
If datapackage.Contains(StandardDataFormats.Bitmap) Then 
Dim r As Windows.Storage.Streams.RandomAccessStreamReference = Await datapackage.GetBitmapAsync() 

साथ शुरू कर दिया है ...

लेकिन मैं जारी रखने के लिए पता नहीं कैसे (और मैं भी सही ढंग से शुरू कर दिया है, भले ही)। एक फ़ाइल

var dataPackageView = Windows.ApplicationModel.DataTransfer.Clipboard.GetContent(); 
if (dataPackageView.Contains(StandardDataFormats.Bitmap)) 
{ 
    IRandomAccessStreamReference imageReceived = null; 
    try 
    { 
     imageReceived = await dataPackageView.GetBitmapAsync(); 
    } 
    catch (Exception ex) 
    { 
    } 

अगर यह मौजूद है, का शुभारंभ पिकर बचाने के लिए, चुनें जहां छवि को बचाने के लिए, और चित्र को कॉपी:

उत्तर

5

पहला कदम की कोशिश करने और क्लिपबोर्ड से छवि मिलता है, यदि वह मौजूद है नई फाइल को स्ट्रीम करें।

if (imageReceived != null) 
    { 
     using (var imageStream = await imageReceived.OpenReadAsync()) 
     { 
      var fileSave = new FileSavePicker(); 
      fileSave.FileTypeChoices.Add("Image", new string[] { ".jpg" }); 
      var storageFile = await fileSave.PickSaveFileAsync(); 

      using (var stream = await storageFile.OpenAsync(FileAccessMode.ReadWrite)) 
      { 
       await imageStream.AsStreamForRead().CopyToAsync(stream.AsStreamForWrite()); 
      } 
     } 
    } 
} 
+0

धन्यवाद। अच्छा लग रहा है। और मुझे यह भी पसंद है कि मेरी 3 लाइनें ठीक थीं, मेरा मतलब है कि अच्छी शुरूआत (लापता प्रयास/पकड़ के अपवाद के साथ)। jiri tywoniak –

+0

यह काम नहीं करता है, जब मैं एक स्क्रीनशॉट – Matt

+0

सहेजने का प्रयास करता हूं ध्यान दें कि यद्यपि आपने फ़ाइल को .jpg एक्सटेंशन दिया है, फिर भी यह एक बीएमपी फ़ाइल है। जेपीजी, पीएनजी इत्यादि के रूप में सहेजने के लिए आपको वास्तविक पिक्सेल डेटा को कन्वर्ट करने की आवश्यकता है। –

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