ios - पीलो लुगडो इंग्लिश ठुमको




मोनो-टच को रंग के रंगों में परिवर्तित करने के लिए अल्फा के साथ कलर UIImage? (2)

मैं एक रंग पीएनजी और अल्फा से धुंधला धुंधला उज्ज्वल UIImage उत्पादन के लिए एक नुस्खा खोजने की कोशिश कर रहा हूँ। वहाँ ObjC में व्यंजनों बाहर हैं, लेकिन MonoTouch CGRect फ़ंक्शंस बाँध नहीं करता है इसलिए यह सुनिश्चित करने के लिए कि यह कैसे करना है कोई विचार?

यहां ग्रेस्केल का एक ObjC उदाहरण है:

(UIImage *)convertImageToGrayScale:(UIImage *)image
{
  // Create image rectangle with current image width/height
  CGRect imageRect = CGRectMake(0, 0, image.size.width, image.size.height);

  // Grayscale color space
  CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray();

  // Create bitmap content with current image size and grayscale colorspace
  CGContextRef context = CGBitmapContextCreate(nil, image.size.width, image.size.height, 8, 0,   colorSpace, kCGImageAlphaNone);

  // Draw image into current context, with specified rectangle
  // using previously defined context (with grayscale colorspace)
  CGContextDrawImage(context, imageRect, [image CGImage]);

  // Create bitmap image info from pixel data in current context
  CGImageRef imageRef = CGBitmapContextCreateImage(context);

  // Create a new UIImage object  
  UIImage *newImage = [UIImage imageWithCGImage:imageRef];

  // Release colorspace, context and bitmap information
  CGColorSpaceRelease(colorSpace);
  CGContextRelease(context);
  CFRelease(imageRef);

  // Return the new grayscale image
  return newImage;
}

मोनोटॉच CGRect फ़ंक्शंस को बाध्य नहीं करता है, इसलिए यह सुनिश्चित नहीं है कि यह कैसे करें।

मोनो टच CGRect का उपयोग करते समय RectangleF लिए मैप किया जाता है। बहुत सारे विस्तार विधियां मौजूद हैं, जिन्हें GCRect द्वारा प्रदान किए गए प्रत्येक फ़ंक्शन पर नक्शा करना चाहिए। आपको उनके द्वारा ObjectiveC कोड को पोर्ट करने में कोई समस्या नहीं होनी चाहिए।

अगर कुछ याद आ रही है, तो कृपया http://bugzilla.xamarin.com पर एक बग रिपोर्ट भरें और हम इसे asap (और संभवतः एक वैकल्पिक समय प्रदान करेंगे) को ठीक कर देंगे।

वहाँ ObjC लेकिन MonoTouch में व्यंजनों बाहर हैं

यदि आपके पास लिंक है तो कृपया अपना प्रश्न संपादित करें और उन्हें जोड़ें। इससे आपकी मदद करना आसान होगा :)

अद्यतन करें

यहाँ एक, लाइन-बाय-लाइन, सी # आपके उदाहरण का अनुवाद है यह मेरे लिए काम करता है (और यह उद्देश्य-सी ;-) की तुलना में मेरी आँखों में बहुत आसान है

    UIImage ConvertToGrayScale (UIImage image)
    {
        RectangleF imageRect = new RectangleF (PointF.Empty, image.Size);
        using (var colorSpace = CGColorSpace.CreateDeviceGray ())
        using (var context = new CGBitmapContext (IntPtr.Zero, (int) imageRect.Width, (int) imageRect.Height, 8, 0, colorSpace, CGImageAlphaInfo.None)) {
            context.DrawImage (imageRect, image.CGImage);
            using (var imageRef = context.ToImage ())
                return new UIImage (imageRef);
        }
    }

मैंने मोनोटच के लिए WWDC से कलंक और टिंट UIImage श्रेणियों का एक देशी बंदरगाह लिखा था

टिंट और धुंध के लिए नमूना कोड:

UIColor tintColor = UIColor.FromWhiteAlpha (0.11f, 0.73f);

UIImage yourImage;
yourImage.ApplyBlur (20f /*blurRadius*/, tintColor, 1.8f /*deltaSaturationFactor*/, null);




cgrect