|
View:
New views
7 Messages
—
Rating Filter:
Alert me
|
|
|
Imagick questionI'm trying to use Imagick:roundCorners() however the resulting image has the background color on the corners set to black if I save the image as a JPG format. If I save it as a PNG format, the rounded corners are transparent. Does anyone know if the background color can be set to white when saving as a JPG format? I'd rather have 122K over 371K for a file size ... -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php |
|
|
Re: Imagick questionOn Thu, Nov 5, 2009 at 12:48 AM, Ashley M. Kirchner <ashley@...> wrote:
> I'm trying to use Imagick:roundCorners() however the resulting image has > the background color on the corners set to black if I save the image as a > JPG format. If I save it as a PNG format, the rounded corners are > transparent. Does anyone know if the background color can be set to white > when saving as a JPG format? I'd rather have 122K over 371K for a file size I'm sure it can be done, but without seeing your code we can't really help. Brady -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php |
|
|
Re: Imagick questionOn Thu, 2009-11-05 at 01:46 -0800, Brady Mitchell wrote:
> On Thu, Nov 5, 2009 at 12:48 AM, Ashley M. Kirchner <ashley@...> wrote: > > I'm trying to use Imagick:roundCorners() however the resulting image has > > the background color on the corners set to black if I save the image as a > > JPG format. If I save it as a PNG format, the rounded corners are > > transparent. Does anyone know if the background color can be set to white > > when saving as a JPG format? I'd rather have 122K over 371K for a file size > > I'm sure it can be done, but without seeing your code we can't really help. > > Brady > It might be that you need to define white as a first colour first and fill the canvas with it. I've had similar problems in GD which were solved like this. Thanks, Ash http://www.ashleysheridan.co.uk |
|
|
Re: Imagick questionBrady Mitchell wrote:
> I'm sure it can be done, but without seeing your code we can't really > help. Easily solved. From the PHP manual (http://www.php.net/manual/en/function.imagick-roundcorners.php): <?php $image = new Imagick(); $image->newPseudoImage(100, 100, "magick:rose"); $image->setImageFormat("png"); $image->roundCorners(5,3); $image->writeImage("rounded.png"); ?> That produces a nice transparent cornered image, as it should. However, try saving it as a JEPG instead. Set the image format to 'jpeg' and write it out as 'rounded.jpg' and you'll notice the corners are now black. I know JPEG doesn't support transparency, that's fine. What I want is to change the black to white instead. -- A -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php |
|
|
Re: Imagick questionOn Thu, 2009-11-05 at 12:22 -0700, Ashley M. Kirchner wrote:
> Brady Mitchell wrote: > > I'm sure it can be done, but without seeing your code we can't really > > help. > Easily solved. From the PHP manual > (http://www.php.net/manual/en/function.imagick-roundcorners.php): > > <?php > > $image = new Imagick(); > $image->newPseudoImage(100, 100, "magick:rose"); > $image->setImageFormat("png"); > > $image->roundCorners(5,3); > $image->writeImage("rounded.png"); > ?> > > That produces a nice transparent cornered image, as it should. > However, try saving it as a JEPG instead. Set the image format to > 'jpeg' and write it out as 'rounded.jpg' and you'll notice the corners > are now black. > > I know JPEG doesn't support transparency, that's fine. What I want > is to change the black to white instead. > > -- A > Fill the background with white before you create the corners. Thanks, Ash http://www.ashleysheridan.co.uk |
|
|
Re: Imagick questionAshley Sheridan wrote:
> Fill the background with white before you create the corners. Well, I tried that, with no luck. This is my actual code: $width = 150; $height = 150; $im = new Imagick('original/' . $filename); $im->thumbnailImage($width, $height, true); $im->sharpenImage(50, 1); $im->setImageBackgroundColor('white'); $im->roundCorners(5, 5, 7); $im->setImageFormat('jpeg'); $im->writeImage('thumbnail/' . $filename); $im->clear(); $im->destroy(); -- H | It's not a bug - it's an undocumented feature. +-------------------------------------------------------------------- Ashley M. Kirchner <mailto:ashley@...> . 303.442.6410 x130 IT Director / SysAdmin . 800.441.3873 x130 Photo Craft Imaging . 2901 55th Street http://www.pcraft.com ..... . . . Boulder, CO 80301, U.S.A. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php |
|
|
Re: Imagick questionI think to do this effectively, you'll need to create two images, as
such (adapting from your code): <?php $width = 150; $height = 150; $background = 'white'; $im = new Imagick(); $im->newImage($width, $height, $background); $thumb = new Imagick('original/' . $filename); $thumb->thumbnailImage($width, $height, true); $thumb->sharpenImage(50, 1); $thumb->roundCorners(5, 5, 7); $im->compositeImage($thumb, Imagick::COMPOSITE_OVER, 0, 0); $im->setImageFormat('jpeg'); $im->flattenImages(); $im->writeImage('thumbnail/' . $filename); /* Or display directly to screen header("Content-Type: image/jpeg"); echo $im; */ $im->clear(); $im->destroy(); $cv->clear(); $cv->destroy(); ?> That seems to be the only way I can find to control which colors are used. -Jason Ashley M. Kirchner wrote: > Ashley Sheridan wrote: >> Fill the background with white before you create the corners. > Well, I tried that, with no luck. This is my actual code: > > $width = 150; > $height = 150; > $im = new Imagick('original/' . $filename); > $im->thumbnailImage($width, $height, true); > $im->sharpenImage(50, 1); > $im->setImageBackgroundColor('white'); > $im->roundCorners(5, 5, 7); > $im->setImageFormat('jpeg'); > $im->writeImage('thumbnail/' . $filename); > $im->clear(); > $im->destroy(); > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php |
| Free embeddable forum powered by Nabble | Forum Help |