如何使用 PHP GD 显示动态生成的内联图像

发布于 2024-10-14 13:18:59 字数 726 浏览 0 评论 0原文

我正在尝试使用 PHP GD 合并图像来动态生成图像。我想知道是否有一种方法可以在我的网页中显示图像,而不需要将其存储在服务器上的某个位置。

例如,我创建了以下代码来合并图像...

function create_image() {
   $main_image = imagecreatefrompng("images/main.png");
   $other_image = imagecreatefrompng("images/other.png");
   imagecopy($main_image, $other_image, 114, 53, 0, 0, 49, 34);
   imagepng($main_image);
   imagedestroy($other_image);
}

现在我的 html 代码是...

<div class="sidebar-avatar">
   <img src="avatar_pattern.png" class="pattern1" width="430" height="100" />
</div>

我应该如何调用 php 函数,以便它显示在我为其指定的 div 中生成的图像。

更新:我发现了 Content-type: image/png 的使用,但这意味着我必须在单独的页面上而不是内联显示图像。

I am trying the generate an image on the fly by merging images using PHP GD. I want to know if there is a way I can display the image inside my webpage without the need of storing it somewhere on server.

Like for example I created the following code for merging the images...

function create_image() {
   $main_image = imagecreatefrompng("images/main.png");
   $other_image = imagecreatefrompng("images/other.png");
   imagecopy($main_image, $other_image, 114, 53, 0, 0, 49, 34);
   imagepng($main_image);
   imagedestroy($other_image);
}

Now my html code till now was...

<div class="sidebar-avatar">
   <img src="avatar_pattern.png" class="pattern1" width="430" height="100" />
</div>

How should I call the php function so that it displays the image generated in the div I have designated for it.

Update: I found the use of Content-type: image/png but that would mean I will have to display the image on a separate page not inline.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

椵侞 2024-10-21 13:18:59

使用base64_encode 将其转换为Base64 并将其作为img 标签中的dataURI 进行回显!

带有数据网址的内嵌图像

Convert it to Base64 with base64_encode and echo it as a dataURI in an img tag !

Inline Images with Data URLs

那片花海 2024-10-21 13:18:59

您可以:

  1. 将图像显示为数据: http://en.wikipedia.org/wiki/Data_URI_scheme (警告:高带宽消耗。)
  2. 制作一个单独的文件来显示图像,例如 display_image.php

并使用代码:

<img src="display_image.php">

使用您显示的标题和代码。

You can either:

  1. Display the image as data: http://en.wikipedia.org/wiki/Data_URI_scheme (Warning: High bandwidth consumption.)
  2. Make a separate file that display the image, such as display_image.php

And use the code:

<img src="display_image.php">

With the header and code you have shown.

作死小能手 2024-10-21 13:18:59

并在 image.php 中创建图像,输出为

header('Content-Type:image/png');imagepng($main_image);

您也可以将图像创建部分放在同一脚本中:

if($other_image=$_GET['other_image'])
{
    // create image
    ...
    // output image
    header('Content-Type:image/png');
    imagepng($main_image);
}
else
{
    // default behaviour
    ...
    echo '<img src="',basename(__FILE__),'?other_image=',urlencode('images/other.png'),'">';
    ...
}

< strong>注意防止注射!

<img src="image.php?other_image=(filename)">

and create your image in image.php, output with

header('Content-Type:image/png');imagepng($main_image);

You can also put the image creation part in the same script:

if($other_image=$_GET['other_image'])
{
    // create image
    ...
    // output image
    header('Content-Type:image/png');
    imagepng($main_image);
}
else
{
    // default behaviour
    ...
    echo '<img src="',basename(__FILE__),'?other_image=',urlencode('images/other.png'),'">';
    ...
}

Take care to prevent injections!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文