/** * Decode an image and then copy into dst, applying origin. * * @param dst SkPixmap to write the final image, after * applying the origin. * @param origin SkEncodedOrigin to apply to the raw pixels. * @param decode Function for decoding into a pixmap without * applying the origin.
*/
template <typename Fn> bool Orient(const SkPixmap& dst, SkEncodedOrigin origin, Fn&& decode) {
SkAutoPixmapStorage storage; const SkPixmap* tmp = &dst; if (origin != kTopLeft_SkEncodedOrigin) { auto info = dst.info(); if (SkEncodedOriginSwapsWidthHeight(origin)) {
info = SwapWidthHeight(info);
} if (!storage.tryAlloc(info)) { returnfalse;
}
tmp = &storage;
} if (!decode(*tmp)) { returnfalse;
} if (tmp != &dst) { return Orient(dst, *tmp, origin);
} returntrue;
}
} // namespace SkPixmapUtils
#endif// SkPixmapUtilsPriv_DEFINED
Messung V0.5
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.