| 233 | } |
| 234 | |
| 235 | Valdi::Ref<Valdi::IBitmap> Image::getBitmap() { |
| 236 | auto imageInfo = _skImage->imageInfo(); |
| 237 | if (imageInfo.colorType() == kUnknown_SkColorType) { |
| 238 | return nullptr; |
| 239 | } |
| 240 | |
| 241 | SkBitmap bitmap; |
| 242 | bitmap.allocPixels(_skImage->imageInfo(), imageInfo.minRowBytes()); |
| 243 | auto pixmap = bitmap.pixmap(); |
| 244 | _skImage->readPixels(imageInfo, pixmap.writable_addr(), imageInfo.minRowBytes(), 0, 0); |
| 245 | |
| 246 | return Valdi::makeShared<snap::drawing::Bitmap>(std::move(bitmap)); |
| 247 | } |
| 248 | |
| 249 | VALDI_CLASS_IMPL(Image) |
| 250 |
no outgoing calls