diff options
Diffstat (limited to 'tools/imgblur.cpp')
-rw-r--r-- | tools/imgblur.cpp | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/tools/imgblur.cpp b/tools/imgblur.cpp index 5ee8b12370..4f106dc712 100644 --- a/tools/imgblur.cpp +++ b/tools/imgblur.cpp @@ -5,14 +5,19 @@ * found in the LICENSE file. */ +#include "SkBitmap.h" #include "SkCommandLineFlags.h" #include "SkCommonFlags.h" -#include "SkImageDecoder.h" +#include "SkData.h" +#include "SkForceLinking.h" +#include "SkImage.h" #include "SkStream.h" #include "SkTypes.h" #include "sk_tool_utils.h" +__SK_FORCE_IMAGE_DECODER_LINKING; + DEFINE_string(in, "input.png", "Input image"); DEFINE_string(out, "blurred.png", "Output image"); DEFINE_double(sigma, 1, "Sigma to be used for blur (> 0.0f)"); @@ -35,32 +40,27 @@ int tool_main(int argc, char** argv) { return kError; } - SkFILEStream inputStream(FLAGS_in[0]); - if (!inputStream.isValid()) { + SkAutoTUnref<SkData> data(SkData::NewFromFileName(FLAGS_in[0])); + if (nullptr == data) { if (!FLAGS_quiet) { SkDebugf("Couldn't open file: %s\n", FLAGS_in[0]); } return kError; } - SkAutoTDelete<SkImageDecoder> codec(SkImageDecoder::Factory(&inputStream)); - if (!codec) { + SkAutoTDelete<SkImage> image(SkImage::NewFromEncoded(data)); + if (!image) { if (!FLAGS_quiet) { - SkDebugf("Couldn't create codec for: %s.\n", FLAGS_in[0]); + SkDebugf("Couldn't create image for: %s.\n", FLAGS_in[0]); } return kError; } SkBitmap src; - - inputStream.rewind(); - SkImageDecoder::Result res = codec->decode(&inputStream, &src, - kN32_SkColorType, - SkImageDecoder::kDecodePixels_Mode); - if (SkImageDecoder::kSuccess != res) { + if (!image->asLegacyBitmap(&src, SkImage::kRW_LegacyBitmapMode)) { if (!FLAGS_quiet) { - SkDebugf("Couldn't decode image: %s.\n", FLAGS_in[0]); - } + SkDebugf("Couldn't create bitmap for: %s.\n", FLAGS_in[0]); + } return kError; } |