diff options
author | Daniel Norman <danielnorman@google.com> | 2021-02-08 11:11:18 -0800 |
---|---|---|
committer | Daniel Norman <danielnorman@google.com> | 2021-02-17 08:39:59 -0800 |
commit | 337095f9d277c566cb888bc3adbac16576f1ae70 (patch) | |
tree | 8818a5cd44fdfa89f7ef4d8570dbc67239e087dd /libs/hwui/jni/BitmapFactory.cpp | |
parent | 80b7ed3f7373212a33fe42af8a7b7fc0ebcb187c (diff) | |
parent | a66768631e6f47e1f7ffcf4ec86f96d6e8f35282 (diff) |
Merge SP1A.210208.001
Change-Id: I7d4929024872b369444e276a60ded06e37b1fefb
Diffstat (limited to 'libs/hwui/jni/BitmapFactory.cpp')
-rw-r--r-- | libs/hwui/jni/BitmapFactory.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libs/hwui/jni/BitmapFactory.cpp b/libs/hwui/jni/BitmapFactory.cpp index cf02051831c6..4e9daa4b0c16 100644 --- a/libs/hwui/jni/BitmapFactory.cpp +++ b/libs/hwui/jni/BitmapFactory.cpp @@ -457,11 +457,12 @@ static jobject doDecode(JNIEnv* env, std::unique_ptr<SkStreamRewindable> stream, // outputBitmap. Otherwise we would blend by default, which is not // what we want. paint.setBlendMode(SkBlendMode::kSrc); - paint.setFilterQuality(kLow_SkFilterQuality); // bilinear filtering SkCanvas canvas(outputBitmap, SkCanvas::ColorBehavior::kLegacy); canvas.scale(scaleX, scaleY); - canvas.drawBitmap(decodingBitmap, 0.0f, 0.0f, &paint); + decodingBitmap.setImmutable(); // so .asImage() doesn't make a copy + canvas.drawImage(decodingBitmap.asImage(), 0.0f, 0.0f, + SkSamplingOptions(SkFilterMode::kLinear), &paint); } else { outputBitmap.swap(decodingBitmap); } |