- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经查阅了 PHP 手册来尝试反转图像的颜色,但我无法让图像以我需要的方式显示。
本质上,在 WordPress 循环中,我需要拍摄一张图像,将其反转,然后将 div 的背景图像设置为该反转图像。到目前为止,这是我的代码:
<?
if (have_rows("slideshow")):
while (have_rows("slideshow")):
the_row();
$icon = get_sub_field("icon");
$image = get_sub_field("image");
?>
<button data-slide="<? echo $image["url"] ?>">
<div class="icon" style="background-image:url('<? echo $icon["url"] ?>');">
<?
function negate($im) {
if (function_exists("imagefilter")) {
return imagefilter($im, IMG_FILTER_NEGATE);
}
for ($x = 0; $x < imagesx($im); ++$x) {
for ($y = 0; $y < imagesy($im); ++$y) {
$index = imagecolorat($im, $x, $y);
$rgb = imagecolorsforindex($index);
$color = imagecolorallocate($im, 255 - $rgb["red"], 255 - $rgb["green"], 255 - $rgb["blue"]);
imagesetpixel($im, $x, $y, $color);
}
}
return(true);
}
$im = imagecreatefrompng($icon["url"]);
if ($im && negate($im)) {
echo "Image successfully converted to negative colors.";
imagepng($im);
imagedestroy($im);
}
?>
<!--<span style="background-image:url('img/icon-circle-white.png');"></span>-->
</div><!--/.icon-->
<div class="caption">
<h2><? the_sub_field("title"); ?></h2>
<? the_sub_field("caption"); ?>
</div><!--/.caption-->
</button>
<?
endwhile;
endif;
?>
这有效,但它会吐出一堆奇怪的字符而不是图像。在我看来问题是imagepng()
需要 header("Content-type: image/png");
,但我不能那样做,因为这是在 WordPress 循环中,而不是单独的文件中。
我的想法是外部化图像反转的东西,并针对我在循环中指定的每个图像运行单独的 PHP(例如:<img src="/invert.php?url=<? $icon['url'] ?>" />
。不幸的是我不知道该怎么做。
这可能吗?
最佳答案
一种解决方案是像这样内联部署图像数据:
<?php
//...
$im = imagecreatefrompng($icon["url"]);
if ($im && negate($im)) {
echo "Image successfully converted to negative colors.";
//read the imagedata into a variable
ob_start();
imagepng($im);
$imgData=ob_get_clean();
imagedestroy($im);
//Echo the data inline in an img tag with the common src-attribute
echo '<img src="data:image/png;base64,'.base64_encode($imgData).'" />';
}
//...
?>
这确实有一些缺点:
希望这对您有所帮助。
关于php - 使用 imagepng() 内联显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24090328/
我正在使用我编写的一个简单的缩略图脚本,它非常标准: $imgbuffer = imagecreatetruecolor($thumbwidth, $thumbheight); switch($typ
$img = imagecreate(110, 20) or die("error!"); $bg = imagecolorallocate($img, 255, 255, 255); $t
各位,首先,这是我的代码: >> DO NOT CHANGE 我们更改了服务器,现在,我明白了: 发生了什么事? 编辑 将 PHP 错误设置为 ON,我收到此警告: Warning: Cannot
我有这个 php 脚本,它应该在浏览器中返回一个 png 图像。 header('Content-Type: image/png'); $img=imagecreatefrompng($myimage
我有一个 .php 文件,该文件应该加载要在 img 标签中显示的图像 (即 )。它看起来像这样: 它工作正常,但图像加载比直接加载要慢得多 (即 ,其中“the_name”的计算方式与 PHP
我到处搜索以找到解决我的问题的可能方法。不幸的是,我似乎无法弄清楚。我有一个 .php 文件,它根据其他图像创建图像。我让脚本完全按照现在的样子运行,没有任何缺陷。但在摆弄其他一些文件后,它突然停止工
我正在使用我基于的脚本从用户上传的声音文件动态生成波形图像:http://andrewfreiday.com/2010/04/29/generating-mp3-waveforms-with-php/
我需要一些有关 PHP GD 的帮助。这是我的一段代码。 header("Content-type: image/gif"); $image = imagecreatetruecolo
我已经查阅了 PHP 手册来尝试反转图像的颜色,但我无法让图像以我需要的方式显示。 本质上,在 WordPress 循环中,我需要拍摄一张图像,将其反转,然后将 div 的背景图像设置为该反转图像。到
我已经查阅了 PHP 手册来尝试反转图像的颜色,但我无法让图像以我需要的方式显示。 本质上,在 WordPress 循环中,我需要拍摄一张图像,将其反转,然后将 div 的背景图像设置为该反转图像。到
我正在尝试创建一个脚本来获取图像的特定部分,但是当我使用 imagepng 时,它返回给我: 这是我的代码 $name = $path; header("Content-type: image/png
好吧,因为我不喜欢 PHP 中的 GD Libary 和 Image 函数,所以我有点卡住了……事实上,同样的函数在从上传的文件创建 JPEG 图像时没有问题——但它卡在了 png 上。 .. 我得到
好吧,因为我不喜欢 PHP 中的 GD Libary 和 Image 函数,所以我有点卡住了……事实上,同样的函数在从上传的文件创建 JPEG 图像时没有问题——但它卡在了 png 上。 .. 我得到
根据 PHP 的官方文档,imagepng() 函数具有以下签名: bool imagepng ( resource $image [, string $filename [, int $qualit
当我用 php 创建图像时,我遇到了一些 GD 问题。 奇怪的是,它可以在一台装有 5.3.1 版 php 的服务器上运行,但不能在 5.2.14 版 php 上运行。 (我不确定是 php 版本还是
据我们所知,我们可以通过将以下行添加到 .htaccess 文件来为图像指定缓存验证器: ExpiresActive On ExpiresDefault "access plus 1
我正在编写一个程序,为用户上传的照片加水印。完成分层后,imagePNG() 将照片输出到浏览器,但不会将其保存到目录。路径都是正确的,文件权限更改为 0755。仅使用函数的第一个参数 ( image
我使用以下代码创建图像并将其编码为 base64。没有直接输出图片。 ob_start(); // catching the output buffer imagepng($imgSignature)
我有一个 php 脚本,用于根据请求将图像发送到移动设备。在当前版本中,脚本运行并且在结束之前我使用 imagePNG() 将图像输出到设备但是在阅读 php 在线手册中的示例时我看到了这个示例:
当我尝试在 PHP 中调用 imagepng 时出现 SSL 错误。 消息:imagecreatefrompng():SSL 操作失败,代码为 1 我知道有一种方法可以在使用 get_put_cont
我是一名优秀的程序员,十分优秀!