o派大猩o 2021-10-12 11:49 采纳率: 0%
浏览 82
已结题

关于Mupdf读取PDF,Pixmap怎么设置分辨率问题。

用mupdf api抽pdf每一页,因为用fz_new_pixmap_from_page接口只能设置抽取的分辨率倍数(fz_scale),但是我要的分辨率不是一倍的。所以我只能先抽取一倍的分辨率,再计算我需要的分辨率是几倍,再定义倍数抽取一次,这样一张图就需要操作两次,耗时有点久。

//先抽取一倍的分辨率
pix = fz_new_pixmap_from_page(ctx, page, fz_scale(1.0, 1.0), fz_device_gray(ctx), 0);

int need_w = dpi*iPaper_w / 25.4;
float scale = need_w*1.0 / pix->h;//计算倍数
int need_l = pix->w*1.0*scale + 0.5;

//再次抽取需要的分辨率
pix = fz_new_pixmap_from_page(ctx, page, fz_scale(scale, scale), fz_device_gray(ctx), 0);

不知道大家有什么好方法?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 10月20日
    • 创建了问题 10月12日

    悬赏问题

    • ¥100 求Web版SPC控制图程序包调式
    • ¥20 指导如何跑通以下两个Github代码
    • ¥15 大家知道这个后备文件怎么删吗,为啥这些文件我只看到一份,没有后备呀
    • ¥15 C++为什么这个代码没报错运行不出来啊
    • ¥15 一道ban了很多东西的pyjail题
    • ¥15 关于#r语言#的问题:如何将生成的四幅图排在一起,且对变量的赋值进行更改,让组合的图漂亮、美观@(相关搜索:森林图)
    • ¥15 C++识别堆叠物体异常
    • ¥15 微软硬件驱动认证账号申请
    • ¥15 GPT写作提示指令词
    • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等