VoyForums
[ Show ]
Support VoyForums
[ Shrink ]
VoyForums Announcement: Programming and providing support for this service has been a labor of love since 1997. We are one of the few services online who values our users' privacy, and have never sold your information. We have even fought hard to defend your privacy in legal cases; however, we've done it with almost no financial support -- paying out of pocket to continue providing the service. Due to the issues imposed on us by advertisers, we also stopped hosting most ads on the forums many years ago. We hope you appreciate our efforts.

Show your support by donating any amount. (Note: We are still technically a for-profit company, so your contribution is not tax-deductible.) PayPal Acct: Feedback:

Donate to VoyForums (PayPal):

Login ] [ Contact Forum Admin ] [ Main index ] [ Post a new message ] [ Search | Check update time | Archives: 123456789[10] ]


[ Next Thread | Previous Thread | Next Message | Previous Message ]

Date Posted: 17:20:40 07/04/00 Tue
Author: Michel
Subject: Re: Jpeg Quality on Read Request
In reply to: Jay 's message, "Re: Jpeg Quality on Read Request" on 00:12:32 07/04/00 Tue


Hi Jay,

What are are describing is "progressive display". That is, as an image is loaded (or download), it quality improves, but you get to see the image as soon as possible. The is currently not available with Envision. Envision can create such images, by setting the SaveProgressive property to True, but when reading Envision will read the entire data stream and display the image at once. To do this probably requires a fair amount of work, because the TDibGraphic base class derived from TGraphic, draws the entire image at once. It must be possible though, because Delphi's TJpegImage can do that.

Best regards,

Michel
> Hi Michel,
>
> I will try restating a little clear. The current form
> of the components will read in what was saved at that
> quality. What I am suggesting is a way to display the
> saved image at a "progress level/value". Why you may
> ask? We are discovering that the displaying of the
> images slows down as the number of images are loaded
> and displayed on our paint canvas. This is on
> machines with limited memory. So if I could display
> the image at a level display quality it would speed up
> the total paint process.
>
> Here are a few assumptions I am making: (some may not
> be important)
> 1. The jpeg is saved at 100 quality
> 2. An original image of 10 Meg could be saved as 100kb.
> 3. Loading the image from the 100kb stream to a
> TJpegGraphic of ~10Meg
> 4. The displayed image is stretched to a width and
> height saved in our data file. So this image may be
> displayed as a 800x600 image or a 10x10 pixel display
> area.
>
>
> So if assumption 3 is true, this is the where the
> addition of this “display progress” feature would be
> used. From this example the 10meg expanded image may
> now be expanded to 1Meg with a “diplay progress” of 10
> percent. As I write this, I see that this like
> subsampling the image.
>
> In my mind I guess I am thinking of the way the early
> web jpegs would fill the screen by displaying a rough
> (blocks) of the image. As the browser received move
> jpeg bits it is slowly filled in. If the data
> transfer is stopped the image is displayed as the
> rough image. I guess I am hoping that this same
> method could be used with our application.
>
> I don’t know if this helps clarify what I am thinking
> or not. Or if is something that can be done or should
> be done.
>
> Thanks,
>
> Jay.
>
> >
> > Hi Jay,
> >
> > I am still a bit confused on this. Firstly, Envision
> > does not support progressive display of jpeg files
> and
> > that in itself will not affect the quality of the
> > image, it only affects how the image is drawn when it
> > is displayed. For dithering, as far as I know all
> JPEG
> > images (except for gray scale) are saved in 24 bit
> > true color. I know Delphi's TJpegImage has a
> smoothing
> > property, but it is only used during the progressive
> > display. After the image is displayed, the quality is
> > the same.
> >
> > Best regards,
> >
> > Michel
> >
> > > Hi Michel,
> > >
> > > Here is a little bit more info on what I was
> talking
> > > about.
> > >
> > > This is the property I was thinking of.
> > >
> > > property Performance: TJPEGPerformance;
> > >
> > > type TJPEGPerformance = (jpBestQuality,
> jpBestSpeed);
> > >
> > > Use Performance to set the performance of the JPEG
> > > image when reading, that is, for decompressing
> files.
> > > This property is not used for writing out files.
> > >
> > > Performance affects the display of the internal
> > bitmap
> > > image. This image is a 256 color bitmap. Setting
> > > Performance to jpBestSpeed may cause some dithering
> > in
> > > the bitmap image.
> > >
> > >
> > >
> > > But what I am thinking is closer to what I
> described
> > > is the property ProgressiveDisplay: Boolean;
> > >
> > > Description
> > >
> > > Use ProgressiveDisplay to turn on or off the
> > > incremental display of an image when reading in
> > files.
> > > For example, if the JPEG data source file is on the
> > > hard drive, progressively displaying it slows down
> > the
> > > display time: in this case setting
> ProgressiveDisplay
> > > to False speeds up the displaying of the image. If
> > the
> > > file must be downloaded, set ProgressiveDisplay to
> > > True if the downloading process will take as long
> as
> > > the progressive displaying of the image.
> > >
> > > ProgressiveDisplay is used only for decompression,
> > but
> > > is affected by the manner in which the image was
> > > compressed. Images that were compressed with
> > > ProgressiveEncoding set to False cannot take
> > advantage
> > > of ProgressiveDisplay. Setting ProgressiveDisplay
> to
> > > True for these images has no effect.
> > >
> > >
> > >
> > > My thought was having a percent of
> > > ProgressiveDisplayed.
> > > So the user has a feel for the image.
> > >
> > > Does this help clarify my earlier comments?
> > >
> > > Thanks,
> > > Jay.
> > >
> > > >
> > > > Hi Jay,
> > > >
> > > > I am not familiar with this, but I don't think if
> > it
> > > > is possible. As far as I know, the JPEG quality
> > > factor
> > > > is used only when saving. It controls parameters
> > used
> > > > in the JPEG lossy compression algorithm. When
> > reading
> > > > a JPEG, the quality does not apply, the image is
> > read
> > > > with the quality that it was saved.
> > > >
> > > > Best regards,
> > > >
> > > > Michel
> > > >
> > > > > Hi Michel,
> > > > > I am working on a project were we are using
> the
> > > > > Envision Components. Love Them. The App is a
> > > simple
> > > > > desktop publishing application. We save all
> > raster
> > > > > images out as jpegs to our file. It would nice
> > if
> > > > the
> > > > > Jpeg class had an option on reading of the jpeg
> > > from
> > > > > the stream at a set quality. This would
> provide
> > a
> > > > > simple way to speed up the displaying of images
> > on
> > > > > machine with less resource. It would be great
> if
> > > it
> > > > > was a percentage. I know TJpegImage has a
> > similar
> > > > > property but it is only a few possible states.
> > > > >
> > > > > Thanks
> > > > > Jay.

[ Next Thread | Previous Thread | Next Message | Previous Message ]

[ Contact Forum Admin ]


Forum timezone: GMT-5
VF Version: 3.00b, ConfDB:
Before posting please read our privacy policy.
VoyForums(tm) is a Free Service from Voyager Info-Systems.
Copyright © 1998-2019 Voyager Info-Systems. All Rights Reserved.