Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(270)

Unified Diff: skia/ext/skia_utils_mac.mm

Issue 2595113002: use skia cgimage->bitmap routine (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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(
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698