Using imageMagick within Concrete5
Permalink
I'm attempting to utilize imageMagick to automatically blur a image and then output that image's source so that I can use it as a background-image.
imageMagick is running on my server, I've confirmed this with the host and with a quick raw test file I threw up there. It worked great.
Now I'm trying to make it function within a page template in concrete5. At first I thought I was going to have to extend the image helper to somehow look for imageMagick and do the blur as some function. The problem with this is that I really don't know what the hell I'm doing in there lol. I tried following along some posts I've found on the forums here for extending helpers but I was not having any luck and I think lack of heavier lifting development experience was not helping my cause.
So I moved on to just trying to put the code in the page... which is probably not the best method but I was hoping it would at least give me some hints for moving forward. So I started with my home.php page type and dropped this in just below the header include ($this->inc('elements/header.php');)
If I echo that $introBlurImg now... it just outputs as a huge block of garbage like @$HJHJKFH#*($&@U@IJLKHREJKLHWEDJ(*U#(*@U$... so on, so forth.
I realized a little later that what was missing from my test that worked outside of concrete was this bit...
Problem is, I only know enough PHP to be dangerous, working with if statements, so on. This is beyond my know-how. So I hit up php.net to try to learn more and it really only left me more confused. Including that snippet seems to over ride anything on the page output a empty img container.
To go one further, even if this did work it doesn't really help me get the SRC of the new blurry image file so I can use it as a background-image: url(src);
So poking around the forums I've seen various mentions of imagemagick here and there, so I think others have found success using it for it's various other functions. Hopefully they will have some insights into how I may do this. Thanks much in advance!
imageMagick is running on my server, I've confirmed this with the host and with a quick raw test file I threw up there. It worked great.
Now I'm trying to make it function within a page template in concrete5. At first I thought I was going to have to extend the image helper to somehow look for imageMagick and do the blur as some function. The problem with this is that I really don't know what the hell I'm doing in there lol. I tried following along some posts I've found on the forums here for extending helpers but I was not having any luck and I think lack of heavier lifting development experience was not helping my cause.
So I moved on to just trying to put the code in the page... which is probably not the best method but I was hoping it would at least give me some hints for moving forward. So I started with my home.php page type and dropped this in just below the header include ($this->inc('elements/header.php');)
// Grabbing the image helper $ih = Loader::helper('image'); // Here's the attribute for the image I'm choosing from the file manager $introImageFile = $c->getAttribute('page_intro_image'); $introImg = $ih->getThumbnail($introImageFile, 2000, 9999, false); // Initially I thought imageMagick was having a hard time with the src not having the full url so I strung those together here $introImgPath = BASE_URL . $introImg->src; // Now I call on imageMagick to do it's thing... $introBlurImg = new Imagick( $introImgPath ); $introBlurImg->blurImage(50,50);
If I echo that $introBlurImg now... it just outputs as a huge block of garbage like @$HJHJKFH#*($&@U@IJLKHREJKLHWEDJ(*U#(*@U$... so on, so forth.
I realized a little later that what was missing from my test that worked outside of concrete was this bit...
header('Content-type: image/jpeg');
Problem is, I only know enough PHP to be dangerous, working with if statements, so on. This is beyond my know-how. So I hit up php.net to try to learn more and it really only left me more confused. Including that snippet seems to over ride anything on the page output a empty img container.
To go one further, even if this did work it doesn't really help me get the SRC of the new blurry image file so I can use it as a background-image: url(src);
So poking around the forums I've seen various mentions of imagemagick here and there, so I think others have found success using it for it's various other functions. Hopefully they will have some insights into how I may do this. Thanks much in advance!
Hey, thanks for your input John... That is an interesting effect I hadn't considered something like that as an overlay. I'll keep it in mind.
I ended up stopping trying to do the blur automatically and am just blurring in photoshop and having two versions, a clear and low res blurred version.
I then borrowed some code from the Matt DuVall (http://mattduvall.com/blog/medium-ux-blurry-scroll/), who actually suggests imagemagick in his article but I ignored it there too. Just going to do it manually, I'll be managing the site myself so it's not a big deal.
I ended up stopping trying to do the blur automatically and am just blurring in photoshop and having two versions, a clear and low res blurred version.
I then borrowed some code from the Matt DuVall (http://mattduvall.com/blog/medium-ux-blurry-scroll/), who actually suggests imagemagick in his article but I ignored it there too. Just going to do it manually, I'll be managing the site myself so it's not a big deal.
https://www.concrete5.org/marketplace/addons/backstretch/...
EDIT, just checked, it was the Vegas variation I was thinking of:
http://www.concrete5.org/marketplace/addons/vegas...