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

Side by Side Diff: skia/ext/image_operations_unittest.cc

Issue 6696085: Add the ability to write comments to PNGCodec::Encode. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: strdup Created 9 years, 9 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <algorithm> 5 #include <algorithm>
6 #include <iomanip> 6 #include <iomanip>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/file_util.h" 10 #include "base/file_util.h"
11 #include "base/string_util.h" 11 #include "base/string_util.h"
12 #include "skia/ext/image_operations.h" 12 #include "skia/ext/image_operations.h"
13 #include "testing/gtest/include/gtest/gtest.h" 13 #include "testing/gtest/include/gtest/gtest.h"
14 #include "third_party/skia/include/core/SkBitmap.h" 14 #include "third_party/skia/include/core/SkBitmap.h"
15 #include "third_party/skia/include/core/SkRect.h" 15 #include "third_party/skia/include/core/SkRect.h"
16 #include "ui/gfx/codec/png_codec.h" 16 #include "ui/gfx/codec/png_codec.h"
17 #include "ui/gfx/size.h"
17 18
18 namespace { 19 namespace {
19 20
20 // Computes the average pixel value for the given range, inclusive. 21 // Computes the average pixel value for the given range, inclusive.
21 uint32_t AveragePixel(const SkBitmap& bmp, 22 uint32_t AveragePixel(const SkBitmap& bmp,
22 int x_min, int x_max, 23 int x_min, int x_max,
23 int y_min, int y_max) { 24 int y_min, int y_max) {
24 float accum[4] = {0, 0, 0, 0}; 25 float accum[4] = {0, 0, 0, 0};
25 int count = 0; 26 int count = 0;
26 for (int y = y_min; y <= y_max; y++) { 27 for (int y = y_min; y <= y_max; y++) {
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 // to check them visually. 187 // to check them visually.
187 #define DEBUG_BITMAP_GENERATION (0) 188 #define DEBUG_BITMAP_GENERATION (0)
188 189
189 #if DEBUG_BITMAP_GENERATION 190 #if DEBUG_BITMAP_GENERATION
190 void SaveBitmapToPNG(const SkBitmap& bmp, const char* path) { 191 void SaveBitmapToPNG(const SkBitmap& bmp, const char* path) {
191 SkAutoLockPixels lock(bmp); 192 SkAutoLockPixels lock(bmp);
192 std::vector<unsigned char> png; 193 std::vector<unsigned char> png;
193 gfx::PNGCodec::ColorFormat color_format = gfx::PNGCodec::FORMAT_RGBA; 194 gfx::PNGCodec::ColorFormat color_format = gfx::PNGCodec::FORMAT_RGBA;
194 if (!gfx::PNGCodec::Encode( 195 if (!gfx::PNGCodec::Encode(
195 reinterpret_cast<const unsigned char*>(bmp.getPixels()), 196 reinterpret_cast<const unsigned char*>(bmp.getPixels()),
196 color_format, bmp.width(), bmp.height(), 197 color_format, gfx::Size(bmp.width(), bmp.height()),
197 static_cast<int>(bmp.rowBytes()), 198 static_cast<int>(bmp.rowBytes()),
198 false, &png)) { 199 false, std::vector<gfx::PNGCodec::Comment>(), &png)) {
199 FAIL() << "Failed to encode image"; 200 FAIL() << "Failed to encode image";
200 } 201 }
201 202
202 const FilePath fpath(path); 203 const FilePath fpath(path);
203 const int num_written = 204 const int num_written =
204 file_util::WriteFile(fpath, reinterpret_cast<const char*>(&png[0]), 205 file_util::WriteFile(fpath, reinterpret_cast<const char*>(&png[0]),
205 png.size()); 206 png.size());
206 if (num_written != static_cast<int>(png.size())) { 207 if (num_written != static_cast<int>(png.size())) {
207 FAIL() << "Failed to write dest \"" << path << '"'; 208 FAIL() << "Failed to write dest \"" << path << '"';
208 } 209 }
(...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after
634 ADD_FAILURE() << "Maximum observed color distance: " 635 ADD_FAILURE() << "Maximum observed color distance: "
635 << max_observed_distance; 636 << max_observed_distance;
636 637
637 #if DEBUG_BITMAP_GENERATION 638 #if DEBUG_BITMAP_GENERATION
638 SaveBitmapToPNG(src, "/tmp/CompareLanczosMethods_source.png"); 639 SaveBitmapToPNG(src, "/tmp/CompareLanczosMethods_source.png");
639 SaveBitmapToPNG(dest_l2, "/tmp/CompareLanczosMethods_lanczos2.png"); 640 SaveBitmapToPNG(dest_l2, "/tmp/CompareLanczosMethods_lanczos2.png");
640 SaveBitmapToPNG(dest_l3, "/tmp/CompareLanczosMethods_lanczos3.png"); 641 SaveBitmapToPNG(dest_l3, "/tmp/CompareLanczosMethods_lanczos3.png");
641 #endif // #if DEBUG_BITMAP_GENERATION 642 #endif // #if DEBUG_BITMAP_GENERATION
642 } 643 }
643 } 644 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698