PEAR is discontinued

This is a static archive preserving historical releases and metadata. No new packages or updates will be published. For updates to existing packages, or to publish new packages, please use Composer and Packagist.

Home » Images » Image_Text » Bug #10235

color_mode "paragraph" broken

Details

Submitted2007-03-01 17:05 UTC
Fromringerl at gmail dot com
Assignedstoyan
StatusClosed
PackageImage_Text
PHP Version5.2.0
OSWindows
Roadmaps(Not assigned)

Comments

[2007-03-01 17:05 UTC] ringerl at gmail dot com

Description:
------------
As you can see in the test script color_mode paragraph is broken.

The color cycling doesn't work properly.

While the 3rd paragraph should have color 3 it gets color 2.

Test script:
---------------
<?php

require_once 'Image/Text.php';

function check_err($obj)
{
if (PEAR::isError($obj))
{
die ($obj->getMessage());
}
}

$img = ImageCreate (100, 100);
ImageColorAllocate ($img, 0, 0, 0);

$options = array(
'cx' => 50,
'cy' => 50,
'width' => 75,
'height' => 75,
'canvas' => $img,
'color' => array('#f5ba47', '#eeeeee', '#999999'),
'max_lines' => 5,
'min_font_size' => 1,
'max_font_size' => 20,
'color_mode' => 'paragraph',
'font_path' => 'php/fonts/',
'antialias' => true,
'font_file' => 'myriad.ttf',
'halign' => IMAGE_TEXT_ALIGN_CENTER,
'valign' => IMAGE_TEXT_ALIGN_MIDDLE
);

$string = "1\n2\n3";

// Neues Objekt erstellen
$img_text = new Image_Text($string,$options);
check_err($img_text);

// Objekt initialisieren
$erg=$img_text->init();
check_err($erg);

// Ideale Textgroesse ermitteln lassen
$erg=$img_text->autoMeasurize();
check_err($erg);

// Grafik berechnen
$erg=$img_text->render();
check_err($erg);

// Daten an Browser senden
//$erg=$img_text->display();
//check_err($erg);

//Debug
print "<html><body><pre>";
print_r($img_text);
print "</pre></body></html>";

?>

Expected result:
----------------
Image_Text Object
(
[options] => Array
(
[x] => 0
[y] => 0
[canvas] => Array
(
[height] => 100
[width] => 100
)

[antialias] => 1
[width] => 75
[height] => 75
[halign] => center
[valign] => middle
[angle] => 0
[color] => Array
(
[0] => Array
(
[r] => 245
[g] => 186
[b] => 71
[a] => 0
)

[1] => Array
(
[r] => 238
[g] => 238
[b] => 238
[a] => 0
)

[2] => Array
(
[r] => 153
[g] => 153
[b] => 153
[a] => 0
)

)

[color_mode] => paragraph
[font_path] => php/fonts/
[font_file] => myriad.ttf
[font_size] => 19
[line_spacing] => 0.5
[min_font_size] => 1
[max_font_size] => 20
[image_type] => 3
[dest_file] =>
[cx] => 50
[cy] => 50
[max_lines] => 5
)

[_reInits] => Array
(
[0] => width
[1] => height
[2] => canvas
[3] => angle
[4] => font_file
[5] => font_path
[6] => font_size
)

[_text] => 1
2
3
[_img] => Resource id #4
[_tokens] => Array
(
[0] => 1
[1] =>

[2] => 2
[3] =>

[4] => 3
)

[_font] => php/fonts/myriad.ttf
[bbox] => Array
(
[0] => Array
(
[0] => 48
[1] => 32
[2] => 55
[3] => 32
[4] => 55
[5] => 15
[6] => 48
[7] => 15
)

[1] => Array
(
[0] => 46
[1] => 60
[2] => 57
[3] => 60
[4] => 57
[5] => 42
[6] => 46
[7] => 42
)

[2] => Array
(
[0] => 46
[1] => 89
[2] => 57
[3] => 89
[4] => 57
[5] => 71
[6] => 46
[7] => 71
)

)

[_mode] =>
[colors] => Array
(
[0] => 1
[1] => 2
[2] => 3
)

[_realTextSize] => Array
(
[width] => 11
[height] => 75
)

[_lines] => Array
(
[0] => Array
(
[string] => 1
[width] => 7
[height] => 17
[bottom_margin] => -1
[left_margin] => 1
[color] => 1
)

[1] => Array
(
[string] => 2
[width] => 11
[height] => 18
[bottom_margin] => -1
[left_margin] => 0
[color] => 2
)

[2] => Array
(
[string] => 3
[width] => 11
[height] => 18
[bottom_margin] => -1
[left_margin] => 0
[color] => 3
)

)

[_measurizedSize] => 19
[_init] => 1
)

Actual result:
--------------
Image_Text Object
(
[options] => Array
(
[x] => 0
[y] => 0
[canvas] => Array
(
[height] => 100
[width] => 100
)

[antialias] => 1
[width] => 75
[height] => 75
[halign] => center
[valign] => middle
[angle] => 0
[color] => Array
(
[0] => Array
(
[r] => 245
[g] => 186
[b] => 71
[a] => 0
)

[1] => Array
(
[r] => 238
[g] => 238
[b] => 238
[a] => 0
)

[2] => Array
(
[r] => 153
[g] => 153
[b] => 153
[a] => 0
)

)

[color_mode] => paragraph
[font_path] => php/fonts/
[font_file] => myriad.ttf
[font_size] => 19
[line_spacing] => 0.5
[min_font_size] => 1
[max_font_size] => 20
[image_type] => 3
[dest_file] =>
[cx] => 50
[cy] => 50
[max_lines] => 5
)

[_reInits] => Array
(
[0] => width
[1] => height
[2] => canvas
[3] => angle
[4] => font_file
[5] => font_path
[6] => font_size
)

[_text] => 1
2
3
[_img] => Resource id #4
[_tokens] => Array
(
[0] => 1
[1] =>

[2] => 2
[3] =>

[4] => 3
)

[_font] => php/fonts/myriad.ttf
[bbox] => Array
(
[0] => Array
(
[0] => 48
[1] => 32
[2] => 55
[3] => 32
[4] => 55
[5] => 15
[6] => 48
[7] => 15
)

[1] => Array
(
[0] => 46
[1] => 60
[2] => 57
[3] => 60
[4] => 57
[5] => 42
[6] => 46
[7] => 42
)

[2] => Array
(
[0] => 46
[1] => 89
[2] => 57
[3] => 89
[4] => 57
[5] => 71
[6] => 46
[7] => 71
)

)

[_mode] =>
[colors] => Array
(
[0] => 1
[1] => 2
[2] => 3
)

[_realTextSize] => Array
(
[width] => 11
[height] => 75
)

[_lines] => Array
(
[0] => Array
(
[string] => 1
[width] => 7
[height] => 17
[bottom_margin] => -1
[left_margin] => 1
[color] => 1
)

[1] => Array
(
[string] => 2
[width] => 11
[height] => 18
[bottom_margin] => -1
[left_margin] => 0
[color] => 2
)

[2] => Array
(
[string] => 3
[width] => 11
[height] => 18
[bottom_margin] => -1
[left_margin] => 0
[color] => 2
)

)

[_measurizedSize] => 19
[_init] => 1
)

[2007-03-01 17:07 UTC] ringerl at gmail dot com

[_lines][2][color] = 2 while it should be 3