Как вывести изображение, созданное с помощью PHP, в тег ![]()
У меня есть файл index.php и img.php. index.php:
<?php ob_start(); ?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="POST">
<input type="submit" name="submit" value="Показать диаграмму">
</form>
<?php
include "img.php";
?>
<img src="<?= $_GET['picture'] ?>" alt="">
</body>
</html>
img.php:
<?php
if (isset($_POST['submit'])) {
// Диаграмма будет представлена для значений следующего массива:
$values = array(
"23", "32", "35", "57", "12",
"3", "36", "54", "32", "15",
"43", "24", "30"
);
// Количество столбцов диаграммы:
$columns = count($values);
// Задаем щирину и высоту всего изображения
$width = 300;
$height = 200;
// Задаем пространство между колонками:
$padding = 2;
// Получаем ширину одной колонки:
$column_width = $width / $columns;
// Создаем переменные
$im = imagecreate($width, $height);
$gray = imagecolorallocate($im, 0xcc, 0xcc, 0xcc);
$gray_lite = imagecolorallocate($im, 0xee, 0xee, 0xee);
$gray_dark = imagecolorallocate($im, 0x7f, 0x7f, 0x7f);
$white = imagecolorallocate($im, 0xff, 0xff, 0xff);
// Заполняем фон картинки
imagefilledrectangle($im, 0, 0, $width, $height, $white);
$maxv = 0;
// Вычисляем максимум
for ($i = 0; $i < $columns; $i++)
$maxv = max($values[$i], $maxv);
// Рисуем каждую колонку
for ($i = 0; $i < $columns; $i++) {
$column_height = ($height / 100) * (($values[$i] / $maxv) * 100);
$x1 = $i * $column_width;
$y1 = $height - $column_height;
$x2 = (($i + 1) * $column_width) - $padding;
$y2 = $height;
imagefilledrectangle($im, $x1, $y1, $x2, $y2, $gray);
//для 3D эффекта
imageline($im, $x1, $y1, $x1, $y2, $gray_lite);
imageline($im, $x1, $y2, $x2, $y2, $gray_lite);
imageline($im, $x2, $y1, $x2, $y2, $gray_dark);
}
header("Location:index.php?picture="."im.png");
ob_end_flush();
imagepng($im);
}
Так я создал некоторое изображение с помощью PHP. Я хочу вывести это изображение в тег , который находится в index.php. Как мне передать из img.php в index.html это изображение. Я не хочу, чтобы изображение было на весь экран браузера - я именно хочу в тег поместить его, чтобы не на весь экран оно было.
Ответы (1 шт):
Автор решения: splash58
→ Ссылка
В img.php прописываем
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
это будет отдавать изображение, как ответ на вызов
а в коде страницы в качестве источника изображения прописываем вызов img.php
<img src="img.php" alt="">