Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: квадрат 5 на 5 клеток (GD)
 
 автор: chexov   (18.06.2009 в 12:49)   письмо автору
 
 

Требуется: нарисовать квадрат 5 на 5 клеток с границами и внутри одной из 25 клеток поставить точку по центру, как осуществить сие средствами GD библиотеки?

  Ответить  
 
 автор: Skinhead1   (18.06.2009 в 13:54)   письмо автору
 
   для: chexov   (18.06.2009 в 12:49)
 

Вот необходимые функции
ImageCreate();
ImageCreateFrom*();
ImageColorAllocate();
ImageLine();

ImageSetPixel();
Header("Content-Type: image/*");
Image*();
ImageDestroy();

  Ответить  
 
 автор: chexov   (18.06.2009 в 14:19)   письмо автору
 
   для: Skinhead1   (18.06.2009 в 13:54)
 

спасибо за наведение на мысль, будем пробовать

  Ответить  
 
 автор: Skinhead1   (18.06.2009 в 14:23)   письмо автору
 
   для: chexov   (18.06.2009 в 14:19)
 

А там и пробовать нечего задаешь цвет фона для линий точки, рисуешь линии, ставишь точку.

  Ответить  
 
 автор: Skinhead1   (18.06.2009 в 14:25)   письмо автору
 
   для: chexov   (18.06.2009 в 14:19)
 

Это пример моего скрипта

<?php
//Фон для изображения
$img=ImageCreateFromPng("theme/fon.png");
$str="http//:{$_SERVER['HTTP_HOST']}";
//Цвет рамки
$linecolor=ImageColorAllocate($img, 68, 73, 72);
$white=ImageColorAllocate($img, 255, 253, 255);
$fontshadow=ImageColorAllocate($img, 0, 0, 0);
$fontcolor=ImageColorAllocate($img, 221, 227, 232);

//Верхняя, нижняя, левая и павые внешние рамки
ImageLine($img, 0, 0, 299, 0, $linecolor);
ImageLine($img, 0, 59, 299, 59, $linecolor);
ImageLine($img, 0, 0, 0, 59, $linecolor);
ImageLine($img, 299, 0, 299, 59, $linecolor);

//Верхняя, нижняя, левая и павые внутренние рамки
ImageLine($img, 2, 2, 297, 2, $linecolor);
ImageLine($img, 2, 57, 297, 57, $linecolor);
ImageLine($img, 2, 2, 2, 57, $linecolor);
ImageLine($img, 297, 2, 297, 57, $linecolor);

//Точки
for ($x=4,$y1=4,$y2=6,$y3=8; $x<=296; $x+=2){
ImageSetPixel($img, $x, $y1, $white);
ImageSetPixel($img, $x, $y2, $white);
ImageSetPixel($img, $x, $y3, $white);
}

//Текст на изображении
ImageString($img, 5, 33, 25, $str, $fontshadow);
ImageString($img, 5, 33, 26, $str, $fontcolor);

//Вывод картинки
Header("Content-Type: image/png");
ImagePng($img);
ImageDestroy($img);
?>

  Ответить  
 
 автор: Drago   (19.06.2009 в 12:41)   письмо автору
 
   для: chexov   (18.06.2009 в 12:49)
 


<?php

$sqsize 
= 50;
$imgsqwidth = 5;
$imgsqheight = 5;
$pixelweight = ceil($sqsize / 10);

$imgwidth = $imgsqwidth * $sqsize;
$imgheight = $imgsqheight * $sqsize;
$img = imagecreate($imgwidth, $imgheight);

$foncolor = imagecolorallocate($img, 164, 164, 164);
$linecolor = imagecolorallocate($img, 0, 150, 150);
$pixelcolor = imagecolorallocate($img, 255, 255, 0);

for (
$i=1; $i < $imgsqwidth; $i++)
    
imageline($img, $i * $sqsize, 0, $i * $sqsize, $imgheight, $linecolor);
for (
$i=1; $i < $imgsqwidth; $i++)
    
imageline($img, 0, $i * $sqsize, $imgwidth, $i * $sqsize, $linecolor);
imagerectangle($img, 0, 0, $imgwidth - 1, $imgheight - 1, $linecolor);

$sqhor = rand(1, $imgsqwidth);
$sqver = rand(1, $imgsqheight);
$pixelcoordx = ($sqhor - 1) * $sqsize + floor($sqsize / 2);
$pixelcoordy = ($sqver - 1) * $sqsize + floor($sqsize / 2);
imagefilledellipse($img, $pixelcoordx, $pixelcoordy, $pixelweight, $pixelweight, $pixelcolor);

header('Content-type: image/png');
imagepng($img);

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования