* 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
v8::Isolate* isolate, v8::Local<v8::Value> val,
    mate::Handle<atom::api::NativeImage>* out) {
  
  base::FilePath path;
  if (ConvertFromV8(isolate, val, &path)) {
    *out = atom::api::NativeImage::CreateFromPath(isolate, path);
    
    return !(*out)->image().IsEmpty();
  }
  WrappableBase* wrapper = static_cast<WrappableBase*>(internal::FromV8Impl(
      isolate, val));
  if (!wrapper)
    return false;
  *out = CreateHandle(isolate, static_cast<atom::api::NativeImage*>(wrapper));
  return true;
}
}  
namespace {
void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
                v8::Local<v8::Context> context, void* priv) {
  mate::Dictionary dict(context->GetIsolate(), exports);
  dict.SetMethod("createEmpty", &atom::api::NativeImage::CreateEmpty);
  dict.SetMethod("createFromPath", &atom::api::NativeImage::CreateFromPath);
  dict.SetMethod("createFromBuffer", &atom::api::NativeImage::CreateFromBuffer);
  dict.SetMethod("createFromDataURL",
                 &atom::api::NativeImage::CreateFromDataURL);
}
}  
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_common_native_image, Initialize)