* 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.cc
mate::Arguments* args) {
#if defined(OS_MACOSX)
  if (IsEmpty()) return node::Buffer::New(isolate, 0).ToLocalChecked();
  NSImage* ptr = image_.AsNSImage();
  return node::Buffer::Copy(
      isolate,
      reinterpret_cast<char*>(ptr),
      sizeof(void*)).ToLocalChecked();
#else
  args->ThrowError("Not implemented");
  return v8::Undefined(isolate);
#endif
}
bool NativeImage::IsEmpty() {
  return image_.IsEmpty();
}
gfx::Size NativeImage::GetSize() {
  return image_.Size();
}
float NativeImage::GetAspectRatio() {
  gfx::Size size = GetSize();
  if (size.IsEmpty())
    return 1.f;
  else
    return static_cast<float>(size.width()) / static_cast<float>(size.height());
}
mate::Handle<NativeImage> NativeImage::Resize(