- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我写了一个 Python 脚本,将一对立体图像融合成立体图像。当我在 tkinter 应用程序中查看图像时,我写的图像看起来不错,但是当我将图像另存为 JPG 和 PNG 到 Photoshop 时,它看起来“很困惑”。有一段时间我在想我是不是疯了,但我让我的家人看了这些照片,他们同意了。
我认为问题与颜色被搞砸有关,我认为我可以通过制作更简单的图像来证明这一点,所以我制作了一些看起来像电视测试图案的东西。这是确凿的证据:
screenshot that shows the problem
左边是显示颜色条的 tkinter 应用程序,右边是我在 Windows 照片查看器中查看应用程序导出的图像,我将其称为 A.PNG。
绿色明显不同,如果我将屏幕截图 (B.PNG) 加载到 Photoshop 中,我会看到左侧图像上的黄色条是 (180, 180, 16) 这应该是什么,但是照片查看器显示 (176,178,41) 为黄色。如果我在 A.PNG 上使用吸管,黄色为 (180, 180, 16),所以问题是当其他应用程序加载图像时,显示的颜色会更改为其他颜色。
我很确定这与色彩管理或 Gamma 校正有关,但我不知道如何处理我的图像,以便我可以使用其他程序查看它或打印出来并让颜色看起来像他们在 tkinter 中这样做。
这是生成颜色条的脚本,将它们写入文件并写入 PNG
from math import floor
from tkinter import Tk, Label
from PIL.Image import new
from PIL import ImageDraw, ImageTk
_480p=(640,480)
WHITE75 = (180,180,180)
YELLOW75 = (180,180,16)
CYAN75= (16,180,180)
GREEN75= (16,180,16)
MAGENTA75 = (180,16,180)
RED75 = (180,16,16)
BLUE75 = (16,16,180)
BLACK75 = (16,16,16)
RAINBOW75 = [WHITE75, YELLOW75, CYAN75, GREEN75, MAGENTA75, RED75, BLUE75]
LOWER75 = [BLUE75, BLACK75, MAGENTA75, BLACK75, CYAN75, BLACK75, WHITE75]
GRAYS = [(16*i,16*i,16*i) for i in range(1,15)]
REDS = [(16*i,0,0) for i in reversed(range(1,15))]
GREENS = [(0,16*i,0) for i in range(1,15)]
BLUES = [(0,0,16*i) for i in reversed(range(1,15))]
class TestPattern():
def draw(self):
self.x = new("RGB",_480p,"black")
self.bars(RAINBOW75,0,320)
self.bars(LOWER75,320,360)
self.bars(GRAYS,360,420)
self.bars(REDS,420,440)
self.bars(GREENS,440,460)
self.bars(BLUES,460,480)
return self.x
def bars(self,colors,top,bottom):
draw = ImageDraw.Draw(self.x)
barwidth = 640 / len(colors)
for i in range(len(colors)):
draw.rectangle([floor(i*barwidth),top,floor((i+1)*barwidth),bottom], fill=colors[i])
root = Tk()
root.title("Image Loader")
root.geometry(f"640x480+300+150")
root.resizable(width=True, height=True)
pattern = TestPattern().draw()
pattern.save(r"D:\test-pattern.png")
tkimg = ImageTk.PhotoImage(pattern)
panel = Label(root, image=tkimg)
panel.image = tkimg
panel.grid(row=1, column=1)
root.mainloop()
curve=[23,37,51,66,80,96,111,126,142,158,174,190,206,222]
最佳答案
这是我想出来的。
我用 Pillow 制作的 JPG 和 PNG 文件与我用来制作屏幕截图的 Photoshop 和 Snagit 保存的文件没有明显不同。 (我写了一些 Python 脚本,从图像中删除了元数据,例如 ICC 配置文件)
不过,我的显示器是戴尔 U2711,它是一款宽色域显示器。 Photoshop、Windows 照片查看器和 Firefox 网络浏览器等应用程序为显示器应用颜色配置文件,因此您在屏幕截图中捕获的任何内容都已转换为显示器的颜色空间。 (180, 180, 16) 在屏幕截图中转换为 (176,178,41)。 Tkinter 是一个没有颜色管理的古老应用程序,所以你要求 (180, 180, 180) 并且你真的在屏幕截图中得到了它。当我在笔记本电脑的内置显示器上截取屏幕截图时,我发现屏幕截图中的颜色与 Photoshop 中的吸管工具一致,并且在 tkinter 和 Photoshop 中也相同。
关于python - 在 tkinter 中查看的枕头生成图像中的颜色与保存文件中的颜色不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73564183/
我正在阅读 java swing,但在理解它时遇到问题。 Color 是一个类吗? Color[] col= {Color.RED,Color.BLUE}; 这在java中是什么意思? 最佳答案 Is
我正在研究用 python 编写的 pacman 程序。其中一个模块是处理吃 bean 游戏的图形表示。这当然是一些主机颜色。列表如下: GHOST_COLORS = [] ## establishe
本网站:http://pamplonaenglishteacher.com 源代码在这里:https://github.com/Yorkshireman/pamplona_english_teache
我最近将我的手机更新为 Android Marshmallow 并在其上运行了我现有的应用程序,但注意到颜色行为有所不同:将更改应用到 View (可绘制)的背景时,共享相同背景的所有 View (引
所有 X11/w3c 颜色代码在 Android XML 资源文件格式中是什么样的? I know this looks a tad ridiculous as a question, but giv
试图让 ffmpeg 创建音频波形,同时能够控制图像大小、颜色和幅度。我已经尝试过这个(以及许多变体),但它只是返回无与伦比的 "。 ffmpeg -i input -filter_complex "
我很好奇你是否有一些关于 R 中颜色酿造的技巧,对于许多独特的颜色,以某种方式使图表仍然好看。 我需要大量独特的颜色(至少 24 种,可能需要更多,~50 种)用于堆叠区域图(所以不是热图,渐变色不起
我看到的许多 WPF 示例和示例似乎都有硬编码的颜色。这些指南 - http://msdn.microsoft.com/en-us/library/aa350483.aspx建议不要硬编码颜色。在构建
我想更改文件夹的默认蓝色 如何设置? 最佳答案 :hi Directory guifg=#FF0000 ctermfg=red 关于Vim NERDTree 颜色,我们在Stack Overflow上
是否有关于如何将任意字符串哈希为 RGB 颜色值的最佳实践?或者更一般地说:3 个字节。 你问:我什么时候需要这个?这对我来说并不重要,但想象一下任何 GitHub 上的那些管图 network pa
我正在尝试将默认颜色设置为自定义窗口小部件。 这是有问题的代码。 class ReusableCard extends StatelessWidget { ReusableCard({this.
import javax.swing.*; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.Ta
我有一个 less 文件来定义一堆颜色/颜色。每个类名都包含相关颜色的名称,例如 .colourOrange{..} 或 .colourBorderOrange{..} 或 navLeftButtOr
我有一个RelativeLayout,我需要一个黑色背景和一个位于其中间的小图像。我使用了这段代码: 其中@drawable/bottom_box_back是: 这样我就可以将图像居中了。但背
我需要设置 浅色 的 JPanel 背景,只是为了不覆盖文本(粗体黑色)。 此刻我有这个: import java.util.Random; .... private Random random =
我正在尝试制作一个自定义文本编辑器,可以更改特定键入单词的字体和颜色。如何更改使用光标突出显示的文本的字体和/或颜色? 我还没有尝试过突出显示部分。我尝试获取整个 hEdit(HWND) 区域并更改字
我想改变我整个应用程序的颜色。 在我的 AndroidManfiest.xml 中,我有正确的代码: 在 values 文件夹中,我有 app_theme.xml: @style/MyAc
是否可以使用 android 数据绑定(bind)从 xml 中引用颜色? 这很好用: android:textColor="@{inputValue == null ? 0xFFFBC02D : 0
有没有办法在 Android 应用程序中设置“空心”颜色? 我的意思是我想要一个带有某种背景的框,而文本实际上会导致背景透明。换句话说,如果整个 View 在蓝色背景上,文本将是蓝色的,如果它是红色的
我用CGContextStrokePath画在白色背景图片中的一条直线上,描边颜色为红色,alpha为1.0画线后,为什么点不是(255, 0, 0),而是(255, 96, 96)为什么不是纯红色?
我是一名优秀的程序员,十分优秀!