File tree 2 files changed +11
-0
lines changed
2 files changed +11
-0
lines changed Original file line number Diff line number Diff line change 10
10
#include " native_mate/dictionary.h"
11
11
#include " native_mate/object_template_builder.h"
12
12
#include " ui/gfx/geometry/size.h"
13
+ #include " ui/gfx/image/image_util.h"
13
14
14
15
#include " atom/common/node_includes.h"
15
16
@@ -32,6 +33,7 @@ mate::ObjectTemplateBuilder NativeImage::GetObjectTemplateBuilder(
32
33
if (template_.IsEmpty ())
33
34
template_.Reset (isolate, mate::ObjectTemplateBuilder (isolate)
34
35
.SetMethod (" toPng" , &NativeImage::ToPNG)
36
+ .SetMethod (" toJpeg" , &NativeImage::ToJPEG)
35
37
.SetMethod (" isEmpty" , &NativeImage::IsEmpty)
36
38
.SetMethod (" getSize" , &NativeImage::GetSize)
37
39
.Build ());
@@ -47,6 +49,14 @@ v8::Handle<v8::Value> NativeImage::ToPNG(v8::Isolate* isolate) {
47
49
png->size ());
48
50
}
49
51
52
+ v8::Handle <v8::Value> NativeImage::ToJPEG (v8::Isolate* isolate, int quality) {
53
+ std::vector<unsigned char > output;
54
+ gfx::JPEG1xEncodedDataFromImage (image_, quality, &output);
55
+ return node::Buffer::New (isolate,
56
+ reinterpret_cast <const char *>(&output.front ()),
57
+ output.size ());
58
+ }
59
+
50
60
bool NativeImage::IsEmpty () {
51
61
return image_.IsEmpty ();
52
62
}
Original file line number Diff line number Diff line change @@ -32,6 +32,7 @@ class NativeImage : public mate::Wrappable {
32
32
33
33
private:
34
34
v8::Handle <v8::Value> ToPNG (v8::Isolate* isolate);
35
+ v8::Handle <v8::Value> ToJPEG (v8::Isolate* isolate, int quality);
35
36
bool IsEmpty ();
36
37
gfx::Size GetSize ();
37
38
You can’t perform that action at this time.
0 commit comments