问题标签 [python-imaging-library]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
12 回答
35611 浏览

python - 用 django 调整图像大小?

我是 Django(和 Python)的新手,在开始使用其他人的应用程序之前,我一直在尝试自己解决一些问题。我无法理解 Django(或 Python)做事方式中的“适合”位置。我正在努力解决的是如何调整图像的大小,一旦它被上传。我已经很好地设置了我的模型并插入了管理员,并且图像可以很好地上传到目录:

我现在遇到的问题是获取该文件并将新文件制作成缩略图。就像我说的,我想知道如何在不使用其他应用程序的情况下做到这一点(目前)。我从 DjangoSnippets 得到了这段代码:

...但这最终使我感到困惑...因为我不知道这如何“适合”我的 Django 应用程序?真的,它是简单地为已成功上传的图像制作缩略图的最佳解决方案吗?任何人都可以向我展示一个像我这样的初学者可以学会正确地做到这一点的好方法吗?例如,知道将那种代码(models.py?forms.py?...)放在哪里以及它在上下文中如何工作?...我只需要一些帮助来理解和解决这个问题。

谢谢!

0 投票
7 回答
16124 浏览

python - 找不到 Python PIL 库。Google App Engine

安装了 Google App Engine SDK.Python 2.6 完美。想进入图像,并在本地测试。安装 PIL

安装了 Python,然后运行了 PIL 安装,这次成功了。

事情看起来不错,但尝试进行 localhost 图像处理会给出:

系统:winxp

0 投票
2 回答
1899 浏览

python - 从 python 设置脚本中的编译标志中删除 ppc

我正在尝试在 Intel Mac OS X Leopard 机器上安装 PIL。不幸的是,“setup.py build”认为它应该为 ppc 编译。

这失败了,因为我的机器上没有可用的 ppc arch 文件(我也不想安装它们)。我如何告诉 setup.py 只做 i386?

我在 /Library/Frameworks/Python.framework 中查看了配置文件,但无济于事。

0 投票
2 回答
12863 浏览

python - PIL 不保存透明度

第一个图像有一个透明的背景,但是当我保存它时,透明度消失了(背景是白色的)

我究竟做错了什么?

0 投票
2 回答
5847 浏览

python - 如何在 Tkinter 中使用 PIL?

在使用 PIL 加载图像并将其显示在 Tkinter 创建的窗口中时,我在非常基本的层面上遗漏了一些东西。我想要做的最简单的形式是:

当我尝试运行上面的代码时,我得到以下信息:

我已经确认该文件存在并且可以在图像编辑器中打开,并且可以使用 im.show() 显示它。我错过了什么?

0 投票
1 回答
62329 浏览

python - PIL Image.resize() 不调整图片大小

我有一些奇怪的问题,PIL 没有调整图像大小。

此代码运行没有任何错误,并mugshotv2.jpg在正确的文件夹中生成名为我的图像,但它不会调整它的大小。它对它有所帮助,因为图片的大小从 120 kb 下降到 20 kb,但尺寸保持不变。

也许您还可以建议用更少的代码将图像裁剪成正方形的方法。我有点想这样Image.thumbnail做,但它所做的是将我的图像按宽度缩放到 150 像素,高度为 100 像素。

0 投票
1 回答
2058 浏览

image - 加快图像显示

我正在使用 PIL(python 图像库)裁剪一个非常大的图像并将裁剪区域呈现给界面。我遇到的问题是该过程花费的时间太长。当用户单击图像进行裁剪时,图像需要很长时间才能显示在我附加的尺寸器上。

我尝试了两种方法:首先,我尝试将裁剪区域作为图像保存到磁盘,然后将其动态加载到 sizer 中。第二次尝试是创建一个空图像并将 pil 图像转换为 wx 图像并将其加载到 sizer 上。令我惊讶的是,第一种写入磁盘的方法比第二种在内存中管理它的方法感觉更快。以下是代码示例:

第一种方法:

第二种方法:

有没有更好的方法来做到这一点,以便图像现在显示得如此缓慢?

0 投票
1 回答
2776 浏览

python - Django ImageField 验证和 PIL

周日,当我安装无堆栈 python 时,我遇到了 python 模块的问题。现在我已经编译并安装了:

setuptools & python-mysqldb 我让我的 django 项目重新启动并运行。(我还重新安装了 django-1.1),

然后我编译安装了jpeg、freetype2和PIL。我也开始使用 mod_wsgi 而不是 mod_python。

但是当以表单上传图像字段时,我得到验证错误:

上传有效图片。您上传的文件不是图像或损坏的图像。

Searchmonkey 显示它来自 field.py imagefield 验证。在引发此错误之前,它会从 PIL 导入图像,打开文件并对其进行验证。我尝试手动从 python 提示符导入 PIL - 它工作得很好。与 Image.open 和 Image.verify 相同。那么可能是什么导致了这个问题呢?

艾伦

0 投票
3 回答
11036 浏览

python - 使用reportlab 2.3 实现PNG 的透明度

我有两个 PNG,我试图在 Python 2.5 上使用 ReportLab 2.3 将它们组合成 PDF。当我使用 canvas.drawImage(ImageReader) 将任一 PNG 写入画布并保存时,透明度变为黑色。如果我使用 PIL (1.1.6) 生成一个新图像,然后将任一 PNG 粘贴()到 PIL 图像上,它就可以很好地合成。我已经在 Gimp 中仔细检查过,两个图像都有工作的 alpha 通道并且被正确保存。我没有收到错误,而且我的 google-fu 似乎没有任何东西可以出现。

有没有人将透明的 PNG 合成到 ReportLab 画布上,并且透明度工作正常?谢谢!

0 投票
5 回答
4191 浏览

python - 重新调整 PIL 图像的强度

重新调整 PIL 图像强度的最简单/最干净的方法是什么?

假设我有一个来自 12 位相机的 16 位图像,所以只有 0-4095 的值在使用中。我想重新调整强度,以便使用 0-65535 的整个范围。当图像表示为 PIL 的图像类型时,最简单/最干净的方法是什么?

到目前为止,我提出的最佳解决方案是:

这可行,但总是将四个最低有效位留空。理想情况下,我想将每个值向左移动四位,然后将四个最高有效位复制到四个最低有效位。我不知道怎么做那么快。