裁剪图像,然后将其保存在同一目录中
Posted
技术标签:
【中文标题】裁剪图像,然后将其保存在同一目录中【英文标题】:Crop an image and then save it in the same directory 【发布时间】:2016-04-22 02:19:27 【问题描述】:我想裁剪 100x100px 图像的一部分,例如从中间裁剪到 20px 高和 30px 宽,然后用 php 将其保存在另一个文件中。
我正在阅读和测试一些代码,但我认为我迷路了。
我想这样做是因为稍后我想使用 OCR 从裁剪的新 img 中获取文本。
任何帮助都会很棒!
这是我在 php.net 的文档中找到的一些代码
<?php
// Create image instances
$src = imagecreatefrompng('waka.png');
$dest = "Select somehow /images ";
// Copy
imagecopy($dest, $src, 0, 0, 20, 13, 80, 40);
// Output and free from memory
header('Content-Type: image/png');
imagepng($dest);
imagedestroy($dest);
imagedestroy($src);
?>
当我在本地服务器上运行 img 时,我遇到了一些关于 img 无法显示的错误。
我不确定我需要更改什么才能获得新的 png。实际上我有 2 个 img waka.png 和 wuku.png 用于测试。
【问题讨论】:
你有什么代码可以给我们看吗?然后我们可以帮助您改进它,以使某些东西有效。我们无法为您编码。 我只是添加了来自 php.net 的代码,我认为应该更容易得到我想要的东西 你试过了吗?如果它不是您的代码,它对我们没有多大帮助。尝试一些代码并告诉我们错误是什么,或者您得到了什么不符合预期的情况。 这不是所有的原始代码,在原始代码中,源是 gif,目标是 imagecreatetruecolor(80, 40);我想在这里尝试的是剪切 waka.png 的一部分并将其保存到另一个新的 png。但是当我加载代码时它说“它无法显示图像localhost...因为它有错误” 【参考方案1】:从你的代码开始,这个对我有用:
<?php
// load your source image
$src = imagecreatefrompng('1.png');
// create an image resource of your expected size 30x20
$dest = imagecreatetruecolor(30, 20);
// Copy the image
imagecopy(
$dest,
$src,
0, // 0x of your destination
0, // 0y of your destination
50, // middle x of your source
50, // middle y of your source
30, // 30px of width
20 // 20px of height
);
// The second parameter should be the path of your destination
imagepng($dest, '2.png');
imagedestroy($dest);
imagedestroy($src);
您应该将 2.png 作为裁剪后的图像。
【讨论】:
这正是我想要的!谢谢!我不是很擅长 php。以上是关于裁剪图像,然后将其保存在同一目录中的主要内容,如果未能解决你的问题,请参考以下文章