Connecting Tech Pros Worldwide Help | Site Map

ImageCreateFromJPEG() accepts horizontal images only??

 
LinkBack Thread Tools Search this Thread
  #1  
Old July 17th, 2005, 01:08 AM
jn
Guest
 
Posts: n/a
Default ImageCreateFromJPEG() accepts horizontal images only??

I'm working with images from a Kodak 2MP camera.

It looks like the function will only create a resource if I give it
horiznotal pictures from this camera....if I give it vertical (height larger
than width) images, it fails to create a resource.

What the hell is it doing?



  #2  
Old July 17th, 2005, 01:08 AM
jn
Guest
 
Posts: n/a
Default Re: ImageCreateFromJPEG() accepts horizontal images only??

"jn" <jsumner1@cfl.rr.com> wrote in message
news:Aketb.16587$w66.310868@twister.tampabay.rr.co m...[color=blue]
> I'm working with images from a Kodak 2MP camera.
>
> It looks like the function will only create a resource if I give it
> horiznotal pictures from this camera....if I give it vertical (height[/color]
larger[color=blue]
> than width) images, it fails to create a resource.
>
> What the hell is it doing?
>[/color]

It works on all the images on my Windows machine, but only works on
horizontal ones when it runs on the Linux server.

Here's the function:

function resize ($filename, $destination, $size, $quality) {
$origImage = imagecreatefromjpeg($filename);
$origWidth = imagesx($origImage);
$origHeight = imagesy($origImage);
$factor = $origHeight/$origWidth;
$newWidth = $size;
$newHeight = $size * $factor;
$newImage = imagecreatetruecolor($newWidth, $newHeight);
imagecopyresampled($newImage, $origImage, 0, 0, 0, 0, $newWidth,
$newHeight, $origWidth, $origHeight);
imagejpeg($newImage, $destination);
return $newHeight;
}



  #3  
Old July 17th, 2005, 01:08 AM
jn
Guest
 
Posts: n/a
Default Re: ImageCreateFromJPEG() accepts horizontal images only??

"jn" <jsumner1@cfl.rr.com> wrote in message
news:yxetb.16588$w66.312913@twister.tampabay.rr.co m...[color=blue]
> "jn" <jsumner1@cfl.rr.com> wrote in message
> news:Aketb.16587$w66.310868@twister.tampabay.rr.co m...[color=green]
> > I'm working with images from a Kodak 2MP camera.
> >
> > It looks like the function will only create a resource if I give it
> > horiznotal pictures from this camera....if I give it vertical (height[/color]
> larger[color=green]
> > than width) images, it fails to create a resource.
> >
> > What the hell is it doing?
> >[/color]
>
> It works on all the images on my Windows machine, but only works on
> horizontal ones when it runs on the Linux server.
>
> Here's the function:
>
> function resize ($filename, $destination, $size, $quality) {
> $origImage = imagecreatefromjpeg($filename);
> $origWidth = imagesx($origImage);
> $origHeight = imagesy($origImage);
> $factor = $origHeight/$origWidth;
> $newWidth = $size;
> $newHeight = $size * $factor;
> $newImage = imagecreatetruecolor($newWidth, $newHeight);
> imagecopyresampled($newImage, $origImage, 0, 0, 0, 0, $newWidth,
> $newHeight, $origWidth, $origHeight);
> imagejpeg($newImage, $destination);
> return $newHeight;
> }
>[/color]

PHP is telling me that they aren't valid JPEGs...that's the problem. :(


  #4  
Old July 17th, 2005, 01:10 AM
Randell D.
Guest
 
Posts: n/a
Default Re: ImageCreateFromJPEG() accepts horizontal images only??

jn wrote:[color=blue]
> "jn" <jsumner1@cfl.rr.com> wrote in message
> news:yxetb.16588$w66.312913@twister.tampabay.rr.co m...
>[color=green]
>>"jn" <jsumner1@cfl.rr.com> wrote in message
>>news:Aketb.16587$w66.310868@twister.tampabay.rr. com...
>>[color=darkred]
>>>I'm working with images from a Kodak 2MP camera.
>>>
>>>It looks like the function will only create a resource if I give it
>>>horiznotal pictures from this camera....if I give it vertical (height[/color]
>>
>>larger
>>[color=darkred]
>>>than width) images, it fails to create a resource.
>>>
>>>What the hell is it doing?
>>>[/color]
>>
>>It works on all the images on my Windows machine, but only works on
>>horizontal ones when it runs on the Linux server.
>>
>>Here's the function:
>>
>>function resize ($filename, $destination, $size, $quality) {
>> $origImage = imagecreatefromjpeg($filename);
>> $origWidth = imagesx($origImage);
>> $origHeight = imagesy($origImage);
>> $factor = $origHeight/$origWidth;
>> $newWidth = $size;
>> $newHeight = $size * $factor;
>> $newImage = imagecreatetruecolor($newWidth, $newHeight);
>> imagecopyresampled($newImage, $origImage, 0, 0, 0, 0, $newWidth,
>>$newHeight, $origWidth, $origHeight);
>> imagejpeg($newImage, $destination);
>> return $newHeight;
>>}
>>[/color]
>
>
> PHP is telling me that they aren't valid JPEGs...that's the problem. :(
>
>[/color]

The reason why PHP is telling you that they are not valid JPEGs I
believe has to do with thumbnails - I believe (perhaps someone in this
newsgroup will know otherwise) that jpegs can contain a small thumbnail
in the same file as the full-sized image. I think its a standard... and
I believe some digital cameras break this standard in order to create
smaller file types... I have a Sony Mavica camera that creates images on
to a floppy diskette that I bought in 19977 and it wworks fine so I know
not all camera's will give you the problem.

Since I have yet to encounter the problem, I've not been able to test a
work around - but one idea I had was to resave the image using the
gd-library and then see if I could manipulate it...

I don't know if it would owrk... in addition... I think I'll recognise
the problem if I encounter problems with width like you had.

I hope the above is some help...

laters
randelld
  #5  
Old July 17th, 2005, 01:11 AM
jn
Guest
 
Posts: n/a
Default Re: ImageCreateFromJPEG() accepts horizontal images only??

"Randell D." <please.post.and.share@news.group.com> wrote in message
news:0sYtb.406842$6C4.166786@pd7tw1no...[color=blue]
> jn wrote:[color=green]
> > "jn" <jsumner1@cfl.rr.com> wrote in message
> > news:yxetb.16588$w66.312913@twister.tampabay.rr.co m...
> >[color=darkred]
> >>"jn" <jsumner1@cfl.rr.com> wrote in message
> >>news:Aketb.16587$w66.310868@twister.tampabay.rr. com...
> >>
> >>>I'm working with images from a Kodak 2MP camera.
> >>>
> >>>It looks like the function will only create a resource if I give it
> >>>horiznotal pictures from this camera....if I give it vertical (height
> >>
> >>larger
> >>
> >>>than width) images, it fails to create a resource.
> >>>
> >>>What the hell is it doing?
> >>>
> >>
> >>It works on all the images on my Windows machine, but only works on
> >>horizontal ones when it runs on the Linux server.
> >>
> >>Here's the function:
> >>
> >>function resize ($filename, $destination, $size, $quality) {
> >> $origImage = imagecreatefromjpeg($filename);
> >> $origWidth = imagesx($origImage);
> >> $origHeight = imagesy($origImage);
> >> $factor = $origHeight/$origWidth;
> >> $newWidth = $size;
> >> $newHeight = $size * $factor;
> >> $newImage = imagecreatetruecolor($newWidth, $newHeight);
> >> imagecopyresampled($newImage, $origImage, 0, 0, 0, 0, $newWidth,
> >>$newHeight, $origWidth, $origHeight);
> >> imagejpeg($newImage, $destination);
> >> return $newHeight;
> >>}
> >>[/color]
> >
> >
> > PHP is telling me that they aren't valid JPEGs...that's the problem. :(
> >
> >[/color]
>
> The reason why PHP is telling you that they are not valid JPEGs I
> believe has to do with thumbnails - I believe (perhaps someone in this
> newsgroup will know otherwise) that jpegs can contain a small thumbnail
> in the same file as the full-sized image. I think its a standard... and
> I believe some digital cameras break this standard in order to create
> smaller file types... I have a Sony Mavica camera that creates images on
> to a floppy diskette that I bought in 19977 and it wworks fine so I know
> not all camera's will give you the problem.
>
> Since I have yet to encounter the problem, I've not been able to test a
> work around - but one idea I had was to resave the image using the
> gd-library and then see if I could manipulate it...
>
> I don't know if it would owrk... in addition... I think I'll recognise
> the problem if I encounter problems with width like you had.
>
> I hope the above is some help...
>
> laters
> randelld[/color]

I tried resaving the image in Photoshop, and it still wouldn't work. And I'm
not sure how I would get GD to resave it without using ImageCreateFromJPEG()
anyway.

I'm now trying to get ImageMagick to work on my server so I don't have to
worry about GD. Thanks for the help though.


 

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Popular Articles

What is Bytes?

We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights. Get the best answers to your questions from over 220,989 network members.