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

Side by Side Diff: base/gfx/image_operations.h

Issue 12842: Move convolver, image_operations, and skia_utils from base/gfx to skia/ext.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 12 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « base/gfx/convolver_unittest.cc ('k') | base/gfx/image_operations.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef BASE_GFX_IMAGE_OPERATIONS_H__
6 #define BASE_GFX_IMAGE_OPERATIONS_H__
7
8 #include "base/basictypes.h"
9 #include "base/gfx/rect.h"
10
11 class SkBitmap;
12
13 namespace gfx {
14
15 class ImageOperations {
16 public:
17 enum ResizeMethod {
18 // Box filter. This is a weighted average of all of the pixels touching
19 // the destination pixel. For enlargement, this is nearest neighbor.
20 //
21 // You probably don't want this, it is here for testing since it is easy to
22 // compute. Use RESIZE_LANCZOS3 instead.
23 RESIZE_BOX,
24
25 // 3-cycle Lanczos filter. This is tall in the middle, goes negative on
26 // each side, then oscillates 2 more times. It gives nice sharp edges.
27 RESIZE_LANCZOS3,
28 };
29
30 // Resizes the given source bitmap using the specified resize method, so that
31 // the entire image is (dest_size) big. The dest_subset is the rectangle in
32 // this destination image that should actually be returned.
33 //
34 // The output image will be (dest_subset.width(), dest_subset.height()). This
35 // will save work if you do not need the entire bitmap.
36 //
37 // The destination subset must be smaller than the destination image.
38 static SkBitmap Resize(const SkBitmap& source,
39 ResizeMethod method,
40 const Size& dest_size,
41 const Rect& dest_subset);
42
43 // Alternate version for resizing and returning the entire bitmap rather than
44 // a subset.
45 static SkBitmap Resize(const SkBitmap& source,
46 ResizeMethod method,
47 const Size& dest_size);
48
49
50 // Create a bitmap that is a blend of two others. The alpha argument
51 // specifies the opacity of the second bitmap. The provided bitmaps must
52 // use have the kARGB_8888_Config config and be of equal dimensions.
53 static SkBitmap CreateBlendedBitmap(const SkBitmap& first,
54 const SkBitmap& second,
55 double alpha);
56 private:
57 ImageOperations(); // Class for scoping only.
58 };
59
60 } // namespace gfx
61
62 #endif // BASE_GFX_IMAGE_OPERATIONS_H__
63
OLDNEW
« no previous file with comments | « base/gfx/convolver_unittest.cc ('k') | base/gfx/image_operations.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698