I am trying to resize an uploaded image from Codeigniter panel to the server, in this process when i try to overwrite the image i get a black background with the resized image in it (image attached) , please help me with this
My code is as follows :
move_uploaded_file($_FILES['img']['tmp_name'],"img".".".$extension);
$config['image_library'] = 'gd2';
$config['maintain_ratio'] = TRUE;
$config['create_thumb'] = False;
$config['overwrite'] = TRUE;
$config['width'] = 1000;
$config['height'] = 1000;
$config['quality'] = 100;
$config['source_image'] = "img".".".$extension;
$config['new_image'] = "img".".".$extension;
$this->image_lib->clear();
$this->image_lib->initialize($config);
$this->image_lib->resize();
Also is there any other way i can directly take the temp image and save with compression?
Thank You,
Rebecca
Please go through below, It will help your issue.
You can create another folder or new name for resize image. You are facing issue because while resizing image, the source image already in use. Hence either create new folder or change filename.
Create New Folder
$config['new_image'] = "path/to/new/folder/img".".".$extension;
Change New Image(Resized) name
$config['new_image'] = "newimg".".".$extension;
Let me know if it not works to you.
Please go through below running solution as per your requirement.
if ($this->input->server('REQUEST_METHOD') === 'POST'):
$this->load->library('image_lib');
$path_parts = pathinfo($_FILES["file"]["name"]);
$extension = $path_parts['extension'];
move_uploaded_file($_FILES['file']['tmp_name'], "./uploads/img" . "." . $extension);
$config['image_library'] = 'gd2';
$config['maintain_ratio'] = TRUE;
$config['create_thumb'] = False;
$config['overwrite'] = TRUE;
$config['width'] = 200;
$config['height'] = 200;
$config['quality'] = 100;
$config['source_image'] = "./uploads/img" . "." . $extension;
$this->image_lib->clear();
$this->image_lib->initialize($config);
$this->image_lib->resize();
endif;
Related
I have tried to crop an image which is uploaded using CodeIgniter. I have used library upload function for uploading the image.How can i crop the image after uploading and is there any method to crop an image?
$file_name="uploaded_image";
$path="folder path to ur file";
$config = array();
$config['source_image'] = $path . $file_name;
$config['new_image'] = $path."/crop/" . $data['file_name'];
$config['width'] = 350;
$config['height'] = 250;
$config['create_thumb'] = FALSE;
$config['maintain_ratio'] = TRUE;
$this->load->library('image_lib', $config);
$this->image_lib->initialize($config);
$this->image_lib->resize();
try this
I have tried to crop image by using the library function of codeigniter. But $this->image_lib->crop() function couldn't change the image.
Here is my code-
<?php
class Cropimg extends CI_Controller {
function index()
{
$config['image_library'] = 'gd2';
$config['source_image'] = 'C:\Users\Public\Pictures\Sample Pictures\Chrysanthemum.jpg';
$config['x_axis'] = '300';
$config['y_axis'] = '200';
$config['maintain_ratio'] = FALSE;
$config['new_image'] = 'C:\Users\Public\Pictures\Sample Pictures\new_crop_img.jpg';
// $config['width'] = $width-10;
//$config['height'] = $height-10;
$this->load->library('image_lib', $config);
if ( ! $this->image_lib->crop())
echo $this->image_lib->display_errors();
else
echo "<strong>Your image has been cropped successfully..!!</strong>";
}
}
?>
Please try this code its working fine. Do you get any errors while cropping?
$config['image_library'] = 'GD2';
$config['source_image'] = 'C:\Users\Public\Pictures\Sample Pictures\Chrysanthemum.jpg';
$config['new_image'] = 'C:\Users\Public\Pictures\Sample Pictures\new_crop_img.jpg';
$config['height'] = '200';
$config['width'] = '300';
$config['maintain_ratio'] = FALSE;
$this->image_lib->initialize($config);
if ( ! $this->image_lib->crop())
{
echo $this->image_lib->display_errors();
}else
{
echo "<strong>Your image has been cropped successfully..!!</strong>";
}
Provide height as well as width for this.
Height & width is necessary to tell that from a point(X-axis, Y-axis) what will be length of image towards right side & what will be length (as a height) towards downside. These will be considered as height & width of that image.
So un-comment
$config['height'] = '200';
$config['width'] = '300';
I am trying to fetch a picture of a bear from the URL and save it as aabear.jpg. However, my code is failing. What is wrong?
$config['image_library'] = 'gd2';
$config['source_image'] = 'http://thejuxtapositionape.blog.com/files/2012/03/polar-bear-pup.jpg';
$config['create_thumb'] = TRUE;
$config['maintain_ratio'] = TRUE;
$config['width'] = 75;
$config['height'] = 50;
$config['new_image'] = 'aabear.jpg';
$this->load->library('image_lib', $config);
Seems like the image library only takes local files as inputs.
Using polar-bear-pup.jpg worked out
I can't re-size a large uploaded image into tow copies one in another size and the other is in another size.
I can only resize only one image.
What I want to ask is. I want to creat a thumbnail as well as slighter larger image of a user profile photo.
if(move_uploaded_file($_FILES['profilepic']['tmp_name'], './profile_pix/'. $profile_pic_name1)){
$config['image_library'] = 'gd2';
$config['source_image'] = './profile_pix/'. $profile_pic_name1;
$config['create_thumb'] = false;
$config['maintain_ratio'] = TRUE;
$config['width'] = 150;
$config['height'] = 190;
$this->load->library('image_lib', $config);
$this->image_lib->resize();
$thumb_name = './profile_pix/thumb_'.$profile_pic_name1;
copy('./profile_pix/'. $profile_pic_name1, $thumb_name);
$config2['image_library'] = 'gd2';
$config2['source_image'] = $thumb_name;
$config2['create_thumb'] = false;
$config2['maintain_ratio'] = false;
$config2['width'] = 50;
$config2['height'] = 50;
$this->load->library('image_lib', $config2);
$this->image_lib->resize();
}
It seems that your image library is already loaded. so call the initialize() function instead of load()
I am trying to create a thumbnail of a watermarked image, but can't get it to work. The script always seems to resize the original watermarked image without making the thumbnail.. anyway to accomplish both?
Here is my code
$config = array();
$config['source_image'] = $data['json']->{'file_path'};
$config['new_image'] = 'copy_' . $data['json']->{'file_path'};
$config['image_library'] = 'gd2';
$config['wm_type'] = 'overlay';
$config['wm_overlay_path'] = getcwd() . '/design/new_transparency.png';
$config['wm_vrt_alignment'] = 'bottom';
$config['wm_hor_alignment'] = 'center';
$config['wm_vrt_offset'] = 20;
$config['create_thumb'] = TRUE;
$config['maintain_ratio'] = TRUE;
$config['width'] = 125;
$config['height'] = 125;
$this->image_lib->initialize($config);
$this->image_lib->watermark();
$this->image_lib->clear();
$this->image_lib->resize();
is there something I am doing wrong?
In the image manipulation class (user guide):
http://codeigniter.com/user_guide/libraries/image_lib.html
I need to make several sizes of thumbnails in my application, so instead of using the built in thumbnail functionality I just use:
$this->image_lib->clear();
And then use the resize command.