コード例 #1
0
void SaveThumbnail(DisplayState& ds)
{
    if (!ds.thumbnail)
        return;

    ScopedMem<WCHAR> bmpPath(GetThumbnailPath(ds.filePath));
    if (!bmpPath)
        return;
    ScopedMem<WCHAR> thumbsPath(path::GetDir(bmpPath));
    if (dir::Create(thumbsPath))
        SaveRenderedBitmap(ds.thumbnail, bmpPath);
}
コード例 #2
0
void RenderDocument(BaseEngine *engine, const WCHAR *renderPath)
{
    for (int pageNo = 1; pageNo <= engine->PageCount(); pageNo++) {
        RenderedBitmap *bmp = engine->RenderBitmap(pageNo, 1.0, 0);
        if (!bmp)
            continue;
        ScopedMem<WCHAR> pageBmpPath(str::Format(renderPath, pageNo));
        if (!SaveRenderedBitmap(bmp, pageBmpPath)) {
            size_t tgaDataLen;
            ScopedMem<unsigned char> tgaData(tga::SerializeBitmap(bmp->GetBitmap(), &tgaDataLen));
            if (tgaData)
                file::WriteAll(pageBmpPath, tgaData.Get(), tgaDataLen);
        }
        delete bmp;
    }
}