当前位置: 首页>>代码示例>>C++>>正文


C++ NativeImageSkia::config方法代码示例

本文整理汇总了C++中NativeImageSkia::config方法的典型用法代码示例。如果您正苦于以下问题:C++ NativeImageSkia::config方法的具体用法?C++ NativeImageSkia::config怎么用?C++ NativeImageSkia::config使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在NativeImageSkia的用法示例。


在下文中一共展示了NativeImageSkia::config方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: lock

bool GraphicsContext3D::getImageData(Image* image,
                                     Vector<uint8_t>& outputVector,
                                     bool premultiplyAlpha,
                                     bool* hasAlphaChannel,
                                     AlphaOp* neededAlphaOp,
                                     unsigned int* format)
{
    if (!image)
        return false;
    NativeImageSkia* skiaImage = image->nativeImageForCurrentFrame();
    if (!skiaImage)
        return false;
    SkBitmap::Config skiaConfig = skiaImage->config();
    // FIXME: must support more image configurations.
    if (skiaConfig != SkBitmap::kARGB_8888_Config)
        return false;
    SkBitmap& skiaImageRef = *skiaImage;
    SkAutoLockPixels lock(skiaImageRef);
    int height = skiaImage->height();
    int rowBytes = skiaImage->rowBytes();
    ASSERT(rowBytes == skiaImage->width() * 4);
    uint8_t* pixels = reinterpret_cast<uint8_t*>(skiaImage->getPixels());
    outputVector.resize(rowBytes * height);
    int size = rowBytes * height;
    memcpy(outputVector.data(), pixels, size);
    *hasAlphaChannel = true;
    if (!premultiplyAlpha)
        // FIXME: must fetch the image data before the premultiplication step
        *neededAlphaOp = kAlphaDoUnmultiply;
    // Convert from BGRA to RGBA. FIXME: add GL_BGRA extension support
    // to all underlying OpenGL implementations.
    for (int i = 0; i < size; i += 4)
        std::swap(outputVector[i], outputVector[i + 2]);
    *format = RGBA;
    return true;
}
开发者ID:digideskio,项目名称:WebkitAIR,代码行数:36,代码来源:GraphicsContext3DSkia.cpp


注:本文中的NativeImageSkia::config方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。