ID: 31376 Comment by: yuanchen73 at hotmail dot com Reported By: sybrendijkstra at gmail dot com Status: Open Bug Type: Feature/Change Request Operating System: Windows 98 se PHP Version: 5.0.1 New Comment:
OS: Windows 2000 Server Version: 5.0.0 Same problem. The stroke doesn't work even I call cpdf_fill() and cpdf_stroke() seperately. I have to redefine the area. For example: cpdf_rect($cpdf, 55, 546, 60, 24); cpdf_fill($cpdf); cpdf_rect($cpdf, 55, 546, 60, 24); // won't work without this line cpdf_stroke($cpdf); Previous Comments: ------------------------------------------------------------------------ [2005-03-11 11:29:14] sybrendijkstra at gmail dot com Hello, I had some time left and found out that in the PHP source,( http://chora.php.net/co.php/pecl/cpdf/cpdf.c?php=4291a9959790339708d78fe44745940c&r=1.58.2.1), around line 1700 i found this: /* {{{ proto bool cpdf_fill_stroke(int pdfdoc) Fills and stroke current path */ PHP_FUNCTION(cpdf_fill_stroke) { zval **arg1; int id, type; CPDFdoc *pdf; if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &arg1) == FAILURE) { WRONG_PARAM_COUNT; } CPDF_FETCH_CPDFDOC(arg1); cpdf_fill(pdf); cpdf_stroke(pdf); RETURN_TRUE; } It calls, cpdf_fill() and after that cpdf_stroke(). But in the ClibPDF manual, cpdfman200.pdf page 19, there is a function "void cpdf_fillAndStroke(CPDFdoc *pdf);". ------------------------------------------------------------------------ [2005-03-06 18:09:09] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.0-win32-latest.zip ------------------------------------------------------------------------ [2005-01-01 21:35:41] sybrendijkstra at gmail dot com Description: ------------ I experienced some unexpected results with the CLibPDF function: cpdf_fill_stroke() -> http://www.php.net/manual/en/function.cpdf-fill-stroke.php According to the manual the function is able to fill the current path and then strokes the same path. As far is i am able to produce that function only fills and there is no stroking at all to see. The code below is a convert from a C example from FastI/O (http://www.fastio.com/example/Arcs.c.txt) Reproduce code: --------------- $rbump = 0.1*100; $xorig = 2.5*100; $greenblue = 1.0; $yorig = 7.5*10; $radius= 2.2*100; cpdf_setrgbcolor_stroke($cpdf, 0.7, 0.7, 0.0); for($i=11; $i>=0; $i--) { $radius -= $rbump; $greenblue = $i/12.0; cpdf_setrgbcolor_fill($cpdf, 1.0, $greenblue, $greenblue); $eangle = ($i+1)*30.0; /* end angle */ $sangle = 0.0; cpdf_moveto($cpdf, $xorig, $yorig); cpdf_arc($cpdf, $xorig, $yorig, $radius, $sangle, $eangle, 0); cpdf_closepath($cpdf); cpdf_fill_stroke($cpdf); /* fill and stroke */ } Expected result: ---------------- I expect to see: http://www.fastio.com/example/arctest.pdf And then the "Color filled pie shapes" image. A red/white background with a green/yellow lines as pie pieces. Actual result: -------------- I actually see only the red/white background. No stroke lines are visable. I see the same result as when I only use cpdf_fill() function. When I saw the source of the .pdf file generated by PHP there where some minor differences between a file which had cpdf_fill_stroke() and a file that used only cpdf_fill(). cpdf_fill_stroke() does add something to the .pdf file, but it's not visable in my PDF viewer (Adobe Acrobat 5.0). To be short: cpdf_fill_stroke() -> only fills (and does not stroke) cpdf_fill() -> only fills cpdf_stroke() -> only strokes ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=31376&edit=1