吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1379|回复: 3
收起左侧

[已解决] 图像背景色透明处理的问题

 关闭 [复制链接]
helian147 发表于 2024-2-28 20:17
100吾爱币
本帖最后由 helian147 于 2024-2-28 20:17 编辑

1、问题描述:
【此处是对图像格式的背景色修改,不是文字页面的背景色】
UnicornViewer阅读器,可以设置强制透明,并将背景色设置为指定颜色、或指定底纹;

01.png
下图是设置指定背景颜色:
02.png

下图是设置指定背景底纹:
03.png


SumatraPDF阅读器,可以在设置-高级选项中,将背景色设置为指定颜色。
04.png


2、问题
这是如何做到的?速度很快,应该不是对像素的修改。
【只需要给出提示即可,代码更佳


PIL.Image按像素处理的话,速度太慢,不太可能:例如下面代码

[Python] 纯文本查看 复制代码
def transparent_back(img):
    img = img.convert('RGBA')                   # 图片转换为四通道。第四个通道就是要修改的透明度。返回新的对象
    L, H = img.size                             # 获取图片尺寸
    color_0 = img.getpixel((0,0))               # 返回图片(0,0)点 某个坐标点颜色,后面以此点颜色为基准处理

    for h in range(H):                          # 按图片尺寸,对每个像素点进行处理
        for l in range(L):
            dot = (l,h)
            color_1 = img.getpixel(dot)         # 获取被处理点的颜色
            if color_1 == color_0:              # 如果颜色相同,就修改
                color_1 = color_1[:-1] + (0,)   # 元组(255,255,255,255)改(255,255,255,0)最后通道修改
                img.putpixel(dot,color_1)       # 修改此坐标点的颜色,没有返回值,直接修改img
    return img



最佳答案

查看完整内容

SumatraPDF 是开源软件,如果还没查看过可以尝试分析源码看它如何实现: https://github.com/sumatrapdfreader/sumatrapdf

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

爱飞的猫 发表于 2024-2-28 20:17
SumatraPDF 是开源软件,如果还没查看过可以尝试分析源码看它如何实现:

https://github.com/sumatrapdfreader/sumatrapdf
yanaying 发表于 2024-2-28 20:43
如果你用代码处理,不能按像素读,应该使用指针,直接操作内存图像数据

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
helian147 + 1 + 1 谢谢提示,大佬的软件好用!

查看全部评分

sai609 发表于 2024-2-28 20:55
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 20:01

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表