Comunitatea PHP Romania
 

 
imageline

imageline

(PHP 3, PHP 4 , PHP 5)

imageline -- Draw a line

Description

int imageline ( resource image, int x1, int y1, int x2, int y2, int color)

imageline() draws a line from x1, y1 to x2, y2 (top left is 0, 0) in image image of color color.

Exemplu 1. Drawing a thick line

<?php

function imagelinethick($image, $x1, $y1, $x2, $y2, $color, $thick = 1)
{
    
/* this way it works well only for orthogonal lines
    imagesetthickness($image, $thick);
    return imageline($image, $x1, $y1, $x2, $y2, $color);
    */
    
if ($thick == 1) {
        return
imageline($image, $x1, $y1, $x2, $y2, $color);
    }
    
$t = $thick / 2 - 0.5;
    if (
$x1 == $x2 || $y1 == $y2) {
        return
imagefilledrectangle($image, round(min($x1, $x2) - $t), round(min($y1, $y2) - $t), round(max($x1, $x2) + $t), round(max($y1, $y2) + $t), $color);
    }
    
$k = ($y2 - $y1) / ($x2 - $x1); //y = kx + q
    
$a = $t / sqrt(1 + pow($k, 2));
    
$points = array(
        
round($x1 - (1+$k)*$a), round($y1 + (1-$k)*$a),
        
round($x1 - (1-$k)*$a), round($y1 - (1+$k)*$a),
        
round($x2 + (1+$k)*$a), round($y2 - (1-$k)*$a),
        
round($x2 + (1-$k)*$a), round($y2 + (1+$k)*$a),
    );    
    
imagefilledpolygon($image, $points, 4, $color);
    return
imagepolygon($image, $points, 4, $color);
}

?>

See also imagecreate() and imagecolorallocate().

Ultimele discutii in forum RSS Forum

Ultimele articole Ultimele articole

Top membri

Pirahna Pirahna
la birou
carco carco
Bucuresti
Birkoff Birkoff
Bucuresti
mihaitha mihaitha
Sibiu
Mascka Mascka
Braila
gabysolomon gabysolomon
Bacau
whooper whooper
Toronto ON
raul_ raul_
dechim dechim
Drobeta Turnu Severin
Amenthes Amenthes

Newsletter


Email:
 inscriere
 renuntare
 
 Arhiva newsletter

Parteneriat

Copyright © 2001-2008 PHP Romania Add PHPRomania to Google Add PHPRomania to Del.icio.us Add PHPRomania to Stumbleupon Add PHPRomania to Yahoo! Add PHPRomania to Digg Add PHPRomania to Blink Gas Suppliers | Loans | Loans | Personal Car Finance | Online Loans
Ads: Partener Way2Web Nework: gazduire web | inregistrare domenii | web design | imobiliare | web hosting
Powered by Simplis