* Electron version: 1.6.1 beta
* Operating system: Microsoft Windows [Version 10.0.14393]

```
app.getFileIcon(path.normalize(file), (err, icon) => {
    if (icon) {
        console.log(icon.toBitmap()); // [buffer array]
        console.log(icon.toBitmap().length); // 9216
        console.log(icon.getBitmap()); // [buffer array]
        console.log(icon.getBitmap().length); // 9216
        console.log(icon.toPNG()); // EMPTY buffer array []
        console.log(icon.toPNG().length); // 0
        console.log(icon.getSize()); // {width: 32, height: 32}
        console.log(icon.toDataURL()); // "data:image/png;base64,"
    }
});
```
atom/common/api/atom_api_native_image.h
const gfx::Rect& rect);
  std::string ToDataURL();
  bool IsEmpty();
  gfx::Size GetSize();
  float GetAspectRatio();
  
  void SetTemplateImage(bool setAsTemplate);
  
  bool IsTemplateImage();
#if defined(OS_WIN)
  base::FilePath hicon_path_;
  std::map<int, base::win::ScopedHICON> hicons_;
#endif
  gfx::Image image_;
  DISALLOW_COPY_AND_ASSIGN(NativeImage);
};
}  
}  
namespace mate {
template<>
struct Converter<mate::Handle<atom::api::NativeImage>> {
  static v8::Local<v8::Value> ToV8(
      v8::Isolate* isolate,
      const mate::Handle<atom::api::NativeImage>& val);
  static bool FromV8(v8::Isolate* isolate, v8::Local<v8::Value> val,
                     mate::Handle<atom::api::NativeImage>* out);
};
}  
#endif