mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-09 07:24:04 +08:00
4 lines
6.8 KiB
HTML
4 lines
6.8 KiB
HTML
<div class="body" role="main"><div class="section" id="module-imghdr"><h1><span class="yiyi-st" id="yiyi-10">22.7. <a class="reference internal" href="#module-imghdr" title="imghdr: Determine the type of image contained in a file or byte stream."><code class="xref py py-mod docutils literal"><span class="pre">imghdr</span></code></a> - 确定图像的类型</span></h1><p><span class="yiyi-st" id="yiyi-11"><strong>源代码:</strong> <a class="reference external" href="https://hg.python.org/cpython/file/3.5/Lib/imghdr.py">Lib/imghdr.py</a></span></p><p><span class="yiyi-st" id="yiyi-12"><a class="reference internal" href="#module-imghdr" title="imghdr: Determine the type of image contained in a file or byte stream."><code class="xref py py-mod docutils literal"><span class="pre">imghdr</span></code></a>模块确定包含在文件或字节流中的图像类型。</span></p><p><span class="yiyi-st" id="yiyi-13"><a class="reference internal" href="#module-imghdr" title="imghdr: Determine the type of image contained in a file or byte stream."><code class="xref py py-mod docutils literal"><span class="pre">imghdr</span></code></a>模块定义以下函数:</span></p><dl class="function"><dt id="imghdr.what"><span class="yiyi-st" id="yiyi-14"> <code class="descclassname">imghdr.</code><code class="descname">what</code><span class="sig-paren">(</span><em>filename</em>, <em>h=None</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-15">测试由<em>filename</em>命名的文件中包含的图像数据,并返回描述图像类型的字符串。</span><span class="yiyi-st" id="yiyi-16">如果提供了可选的<em>h</em>,则忽略<em>文件名</em>,假设<em>h</em>包含要测试的字节流。</span></p></dd></dl><p><span class="yiyi-st" id="yiyi-17">可以识别以下图像类型,如下所示,返回值来自<a class="reference internal" href="#imghdr.what" title="imghdr.what"><code class="xref py py-func docutils literal"><span class="pre">what()</span></code></a>:</span></p><table border="1" class="docutils"><thead valign="bottom"><tr class="row-odd"><th class="head"><span class="yiyi-st" id="yiyi-18">值</span></th><th class="head"><span class="yiyi-st" id="yiyi-19">图像格式</span></th></tr></thead><tbody valign="top"><tr class="row-even"><td><span class="yiyi-st" id="yiyi-20"><code class="docutils literal"><span class="pre">'rgb'</span></code></span></td><td><span class="yiyi-st" id="yiyi-21">SGI ImgLib文件</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-22"><code class="docutils literal"><span class="pre">'gif'</span></code></span></td><td><span class="yiyi-st" id="yiyi-23">GIF 87a和89a文件</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-24"><code class="docutils literal"><span class="pre">'pbm'</span></code></span></td><td><span class="yiyi-st" id="yiyi-25">便携式位图文件</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-26"><code class="docutils literal"><span class="pre">'pgm'</span></code></span></td><td><span class="yiyi-st" id="yiyi-27">便携式灰色图文件</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-28"><code class="docutils literal"><span class="pre">'ppm'</span></code></span></td><td><span class="yiyi-st" id="yiyi-29">便携式Pixmap文件</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-30"><code class="docutils literal"><span class="pre">'tiff'</span></code></span></td><td><span class="yiyi-st" id="yiyi-31">TIFF文件</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-32"><code class="docutils literal"><span class="pre">'rast'</span></code></span></td><td><span class="yiyi-st" id="yiyi-33">太阳光栅文件</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-34"><code class="docutils literal"><span class="pre">'xbm'</span></code></span></td><td><span class="yiyi-st" id="yiyi-35">X位图文件</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-36"><code class="docutils literal"><span class="pre">'jpeg'</span></code></span></td><td><span class="yiyi-st" id="yiyi-37">JFIF或Exif格式的JPEG数据</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-38"><code class="docutils literal"><span class="pre">'bmp'</span></code></span></td><td><span class="yiyi-st" id="yiyi-39">BMP文件</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-40"><code class="docutils literal"><span class="pre">'png'</span></code></span></td><td><span class="yiyi-st" id="yiyi-41">便携式网络图形</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-42"><code class="docutils literal"><span class="pre">'webp'</span></code></span></td><td><span class="yiyi-st" id="yiyi-43">WebP文件</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-44"><code class="docutils literal"><span class="pre">'exr'</span></code></span></td><td><span class="yiyi-st" id="yiyi-45">OpenEXR文件</span></td></tr></tbody></table><div class="versionadded"><p><span class="yiyi-st" id="yiyi-46"><span class="versionmodified">版本3.5中的新功能:</span>添加了<em>exr</em>和<em>webp</em>格式。</span></p></div><p><span class="yiyi-st" id="yiyi-47">您可以扩展文件类型列表<a class="reference internal" href="#module-imghdr" title="imghdr: Determine the type of image contained in a file or byte stream."><code class="xref py py-mod docutils literal"><span class="pre">imghdr</span></code></a>可以通过追加到此变量来识别:</span></p><dl class="data"><dt id="imghdr.tests"><span class="yiyi-st" id="yiyi-48"> <code class="descclassname">imghdr.</code><code class="descname">tests</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-49">执行单独测试的函数列表。</span><span class="yiyi-st" id="yiyi-50">每个函数都有两个参数:字节流和一个类似打开文件的对象。</span><span class="yiyi-st" id="yiyi-51">当使用字节流调用<a class="reference internal" href="#imghdr.what" title="imghdr.what"><code class="xref py py-func docutils literal"><span class="pre">what()</span></code></a>时,类文件对象将为<code class="docutils literal"><span class="pre">None</span></code>。</span></p><p><span class="yiyi-st" id="yiyi-52">如果测试成功,测试函数应返回描述图像类型的字符串,如果失败,则返回<code class="docutils literal"><span class="pre">None</span></code>。</span></p></dd></dl><p><span class="yiyi-st" id="yiyi-53">例:</span></p><pre><code class="language-python"><span></span><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">imghdr</span>
|
||
<span class="gp">>>> </span><span class="n">imghdr</span><span class="o">.</span><span class="n">what</span><span class="p">(</span><span class="s1">'bass.gif'</span><span class="p">)</span>
|
||
<span class="go">'gif'</span>
|
||
</code></pre></div></div> |