Image size question

D

dgk

I have an app that has many subdirectories containing one or more
images (jpg, gif, bmp). When the user selects a directory, my plan is
to show the images if there are only one or two, or show thumbnails if
there are more and allow the user to click on each thumbnail to view
it full size.

Right now I'm just sticking an <IMG> tag for each image into a literal
control. It works fine but the images are huge which surprised me. I
really don't know the size of the image in order to specify height and
width in the IMG tag. I tried loading them and checking the
image.height and width but, after around 6 or 7 it runs out of memory.
Very weird. I am disposing the image after each one is loaded.

But that approach is very wasteful anyway. There can't be a need to
load each image just to get the browser to display it at the proper
size. Should I try adding image controls dynamically instead of
spitting out html? Am I missing the point entirely?

The thumbnail idea also presents the same problem. It seems wasteful
to load an image and generate the thumbnail in memory each time. I
guess I can check to see if the thumbnails exist and if not create
them. That way I only do it once or can even have a separate app do it
"offline".

Any image assistance appreciated.
 
D

dgk

I have a sample app that does exactly that:

http://staff.develop.com/ballen/blog/PermaLink.aspx?guid=2d8b430b-8361-416d-9df8-9aff48bf2481

I'd suggest reading the comments for the blog entry and there's a link off
to more help on the image resizing bit.

Thanks. It will take me a bit to sort though this. Setting the
contextType:
ctx.Response.ContentType = "image/jpeg";

tells the browser not the expect a webpage but rather an image. And
this line:
img2.Save(ctx.Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);

spits it out.

But does it appear somewhere in the current webpage or open up a new
window? And how would I attach JavaScript to trigger a request for the
full image?
 
B

Brock Allen

Download the entire sample and run it -- the page dynamically creates <img>
to make requests for the thumbnails. It also wraps each of those <img> with
<a> so the user can click the link and get the real (non-thumbnail) image.
 
D

dgk

Download the entire sample and run it -- the page dynamically creates <img>
to make requests for the thumbnails. It also wraps each of those <img> with
<a> so the user can click the link and get the real (non-thumbnail) image.

Thanks a lot. It does exactly what I want. However I do not understand
how it works so I'm slogging my way through it. This is my first
experience with HttpHandlers. Cute, the only ashx file is a pointer in
web.config back to the Thumb class. Hee hee. MS documentation seems a
bit, umm, sparse on HttpHandlers. Possible questions will follow.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,770
Messages
2,569,583
Members
45,074
Latest member
StanleyFra

Latest Threads

Top