Commit 13dd781e authored by Thomas Tangl's avatar Thomas Tangl Committed by Commit Bot

[profile-menu] Fix blurred identity image

This was caused by using an unscaled bitmap for
the circle in the image manipulations.

Bug: 995720
Change-Id: I2a2cc58ee2abea6d90a1fdeee048169d1ec7a967
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1831759Reviewed-by: default avatarMarc Treib <treib@chromium.org>
Reviewed-by: default avatarDavid Roger <droger@chromium.org>
Commit-Queue: Thomas Tangl <tangltom@chromium.org>
Cr-Commit-Position: refs/heads/master@{#701480}
parent a7c2efc3
......@@ -80,17 +80,31 @@ gfx::ImageSkia ColorImage(const gfx::ImageSkia& image, SkColor color) {
return gfx::ImageSkiaOperations::CreateColorMask(image, color);
}
gfx::ImageSkia CreateCircle(int size, SkColor color = SK_ColorWHITE) {
float radius = size / 2.0f;
gfx::Canvas canvas(gfx::Size(size, size), /*image_scale=*/1.0f,
/*is_opaque=*/false);
class CircleImageSource : public gfx::CanvasImageSource {
public:
CircleImageSource(int size, SkColor color)
: gfx::CanvasImageSource(gfx::Size(size, size)), color_(color) {}
~CircleImageSource() override = default;
void Draw(gfx::Canvas* canvas) override;
private:
SkColor color_;
DISALLOW_COPY_AND_ASSIGN(CircleImageSource);
};
void CircleImageSource::Draw(gfx::Canvas* canvas) {
float radius = size().width() / 2.0f;
cc::PaintFlags flags;
flags.setAntiAlias(true);
flags.setStyle(cc::PaintFlags::kFill_Style);
flags.setColor(color);
canvas.DrawCircle(gfx::PointF(radius, radius), radius, flags);
flags.setAntiAlias(true);
flags.setColor(color_);
canvas->DrawCircle(gfx::PointF(radius, radius), radius, flags);
}
return gfx::ImageSkia::CreateFrom1xBitmap(canvas.GetBitmap());
gfx::ImageSkia CreateCircle(int size, SkColor color = SK_ColorWHITE) {
return gfx::CanvasImageSource::MakeImageSkia<CircleImageSource>(size, color);
}
gfx::ImageSkia CropCircle(const gfx::ImageSkia& image) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment