使用ImageMagick或GD库将图像裁剪或遮盖成圆形的最佳方法是什么?(注意,解决方案存在于"其他"问答网站,但不存在StackOverflow)
这些过滤器如何影响PHP 中imagepng()的输出?
文档简单地说,"一个特殊的PNG过滤器,由imagepng()函数使用"为每个过滤器.
似乎使用PNG_NO_FILTER会减少输出的文件大小,但除此之外,我不确定它是如何受到影响的.任何见解都会非常感激.
我最近发现,与GD相比,Imagick可以支持颜色配置文件,从而产生质量更好的图像(有关更多详细信息,请参阅此问题/答案),所以我试图将我的GD包装器移植到使用Imagick类,而不是目前的GD实现如下:
function Image($input, $crop = null, $scale = null, $merge = null, $output = null, $sharp = true)
{
if (isset($input, $output) === true)
{
if (is_string($input) === true)
{
$input = @ImageCreateFromString(@file_get_contents($input));
}
if (is_resource($input) === true)
{
$size = array(ImageSX($input), ImageSY($input));
$crop = array_values(array_filter(explode('/', $crop), 'is_numeric'));
$scale = array_values(array_filter(explode('*', $scale), 'is_numeric'));
if (count($crop) == 2)
{
$crop = array($size[0] / $size[1], $crop[0] / $crop[1]);
if ($crop[0] > $crop[1])
{
$size[0] = round($size[1] * $crop[1]); …
Run Code Online (Sandbox Code Playgroud) 我用ImagePng()创建了一个图像.我不希望它将图像保存到文件系统,但想要在与base64编码内联图像相同的页面上输出它,就像
print '<p><img src="data:image/png;base64,'.base64_encode(ImagePng($png)).'" alt="image 1" width="96" height="48"/></p>';
Run Code Online (Sandbox Code Playgroud)
这不起作用.
这可能在一个PHP文件中完成吗?
提前致谢!
我有一个上传Api作为响应对象(与Json对象内的其他东西一起)传递base64编码的jpeg图像.
我创建编码图像如下:
$im; // gd image resource
ob_start();
imagejpeg($im);
$data = base64_encode(ob_get_clean());
Run Code Online (Sandbox Code Playgroud)
然后使用javascript将数据放入表单字段并提交.
如何再次创建GD资源,以便我实际上可以将该图像保存为文件?
PHP中的一切.
我想用GD库模糊图像,遗憾的是GD给出的GAUSSIAN_BLUR效果还不够,我想要的东西更模糊
<?php $im = imagecreatefrompng($_GET['image']);
if($im && imagefilter($im, IMG_FILTER_GAUSSIAN_BLUR))
{
header('Content-Type: image/png');
imagepng($im);
}
else
{
echo 'fail';
}
imagedestroy($im);
Run Code Online (Sandbox Code Playgroud)
我想要这样的东西或至少在它附近.
我用函数imagecopyresampled
来裁剪图像.
我尝试使用file_put_contents
和fwrite将resized_image写入硬盘上的文件,但所有尝试都失败了.
我可以将已调整大小的图像写入磁盘而不是用于将imagejpg
其打印到浏览器吗?
我只是试图获得动态文本行的宽度,以添加到使用GD PHP生成的图像.我有点不确定如何.我知道如何使用imageloadfont()加载字体,但我可以使用.ttf文件吗?我想知道使用12号arial字体的文本宽度.当我尝试使用我的ttf文件时,我收到错误"读取字体错误,字体标题无效".如果我需要.gdf文件,我在哪里可以找到字体大小为12 gdf的文件?这是我的代码:
$newfont = imageloadfont("../fonts/arial.ttf");
$font_width = imagefontwidth($newfont);
$font_height = imagefontheight($newfont);
Run Code Online (Sandbox Code Playgroud) 我正在尝试从这张图片中读取文字:
我想看看价格,例如" EUR42721.92
"
我试过这些库:
但它们不起作用.我该如何阅读文字?