* 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
}
namespace gfx {
class Size;
}
namespace mate {
class Arguments;
}
namespace atom {
namespace api {
class NativeImage : public mate::Wrappable<NativeImage> {
 public:
  static mate::Handle<NativeImage> CreateEmpty(v8::Isolate* isolate);
  static mate::Handle<NativeImage> Create(
      v8::Isolate* isolate, const gfx::Image& image);
  static mate::Handle<NativeImage> CreateFromPNG(
      v8::Isolate* isolate, const char* buffer, size_t length);
  static mate::Handle<NativeImage> CreateFromJPEG(
      v8::Isolate* isolate, const char* buffer, size_t length);
  static mate::Handle<NativeImage> CreateFromPath(
      v8::Isolate* isolate, const base::FilePath& path);
  static mate::Handle<NativeImage> CreateFromBuffer(
      mate::Arguments* args, v8::Local<v8::Value> buffer);
  static mate::Handle<NativeImage> CreateFromDataURL(
      v8::Isolate* isolate, const GURL& url);
  static void BuildPrototype(v8::Isolate* isolate,
                             v8::Local<v8::FunctionTemplate> prototype);
#if defined(OS_WIN)
  HICON GetHICON(int size);
#endif
  const gfx::Image& image() const { return image_; }