Chromium Code Reviews| Index: skia/ext/skia_utils_mac.mm |
| diff --git a/skia/ext/skia_utils_mac.mm b/skia/ext/skia_utils_mac.mm |
| index 57fb7076ba219c4b5ccefb292200c69b5d644638..7bb6964917836e176421d9f06f1e71d481e378e1 100644 |
| --- a/skia/ext/skia_utils_mac.mm |
| +++ b/skia/ext/skia_utils_mac.mm |
| @@ -184,31 +184,10 @@ NSColor* SkColorToSRGBNSColor(SkColor color) { |
| } |
| SkBitmap CGImageToSkBitmap(CGImageRef image) { |
| - if (!image) |
| - return SkBitmap(); |
| - |
| - int width = CGImageGetWidth(image); |
| - int height = CGImageGetHeight(image); |
| - |
| - std::unique_ptr<SkCanvas> canvas(skia::CreatePlatformCanvas( |
| - nullptr, width, height, false, RETURN_NULL_ON_FAILURE)); |
| - ScopedPlatformPaint p(canvas.get()); |
| - CGContextRef context = p.GetNativeDrawingContext(); |
| - |
| - // We need to invert the y-axis of the canvas so that Core Graphics drawing |
| - // happens right-side up. Skia has an upper-left origin and CG has a lower- |
| - // left one. |
| - CGContextScaleCTM(context, 1.0, -1.0); |
| - CGContextTranslateCTM(context, 0, -height); |
| - |
| - // We want to copy transparent pixels from |image|, instead of blending it |
| - // onto uninitialized pixels. |
| - CGContextSetBlendMode(context, kCGBlendModeCopy); |
| - |
| - CGRect rect = CGRectMake(0, 0, width, height); |
| - CGContextDrawImage(context, rect, image); |
| - |
| - return skia::ReadPixels(canvas.get()); |
| + SkBitmap bm; |
| + if (image) |
| + (void)SkCreateBitmapFromCGImage(&bm, image); |
|
dcheng
2016/12/21 20:54:51
I don't think I'm an owner for this code, but in C
reed1
2016/12/21 21:00:26
Done.
|
| + return bm; |
| } |
| SkBitmap NSImageToSkBitmapWithColorSpace( |