On Mon, 16 Dec 2019 18:06:49 +0800 (CST) Jing <[email protected]> said:
> Hi Carsten, > For compressed in RAM and scaled down thumbnail, any demo for it ? > I will try both methods to fix my issue, many thanks. Compressed in RAM how? Evas has no methods other than ETC1/ETC2 ... and the software engine will decompress to raw ARGB32 in memory. The GL engine will keep it compressed all the way including as a texture (unless your GL implementation does not support ETC1/2 then it'll get decompressed to ARGB32 too). For thumbnails - there is ethumb or you can do it yourself. enlightenment has its own thumbnailer (e_thumb_main.c). It uses a slave process that is talked to via docket IPC. It creates an ecore_evas canvas and just renders objects at downscaled sizes then saves them out to files. Rage has a thumbnailer too. It does much more like downloads album art files or googles for movie poster images for you as well as being able to thumbnail entire movies (step through and every N seconds render a frame and encode them into a single archive file). thumb.c is the code and the executable that does this is rage_thumb. Rage just calls it to go provide a thumbnail for a given media file. It uses an elm window and also has it render to memory with the buffer engine etc. So you can use evas as a thumbnailer as it can just render-to-memory without a real display system or window and thus you can actually render anything evas can (text and all sorts of other stuff too)... There are many ways to slice and dice this. My preferred solution is always to have some background process do this as a slave task and cache the thumbnails > At 2019-12-13 16:33:47, "Carsten Haitzler" <[email protected]> wrote: > >On Fri, 13 Dec 2019 15:19:06 +0800 (CST) Jing <[email protected]> said: > > > >> Hi Carsten, Is there a way to compress the original image into a small > >> image to display? Any demo for it ? > > > >That's vague. What do you mean? Compress on disk? compressed in RAM? just > >scaled down thumbnail? .... something else? > > > >> Thanks. > >> At 2019-10-24 19:03:52, "Carsten Haitzler (The Rasterman)" > >> <[email protected]> wrote: > >> >On Thu, 24 Oct 2019 18:58:30 +0800 (CST) Jing <[email protected]> said: > >> > > >> >> Hi Vincent, thanks for your advise, thanks. > >> >> > >> >> Hi Carsten, any advise for the memory consumption issue when display > >> >> image number/size is large ? Thanks. > >> > > >> >use thumbnails? don't create image objects that are not visible? create > >> >them when they become visible? > >> > > >> >> At 2019-10-23 18:14:45, "Vincent Torri" <[email protected]> wrote: > >> >> >On Wed, Oct 23, 2019 at 12:05 PM Jing <[email protected]> wrote: > >> >> >> > >> >> >> Hi Carsten,I am using a raw edje object. Follow your advise, i use > >> >> >> evas_object_image_add and evas_object_image_file_set can display > >> >> >> different images in my GUI. But when the number/size of image is > >> >> >> large, it will consume a lot of memory, is there any way to reduce > >> >> >> the memory consumption? > >> >> >> > >> >> >> Besides, it there any way to play mp3 and mp4 file ? Please advise, > >> >> >> many thanks. > >> >> > > >> >> >you can use emotion library for media files. You must compile the EFL > >> >> >with at least a video backend (vlc or xine or gstreamer 1) > >> >> > > >> >> >Vincent > >> >> > > >> >> >> > >> >> >> At 2019-10-22 21:31:36, "Carsten Haitzler" <[email protected]> > >> >> >> wrote: > >> >> >> >On Tue, 22 Oct 2019 20:13:51 +0800 (CST) Jing <[email protected]> > >> >> >> >said: > >> >> >> > > >> >> >> >> Hi Carsten, > >> >> >> >> Thanks for your reply. I want to dynamically display different > >> >> >> >> images in my GUI, the images are read from SD card. How to add > >> >> >> >> this feature ? Please help,thanks. > >> >> >> > > >> >> >> >many ways. you can use a basic evas image object > >> >> >> >(evas_object_image_add) then set the file on it and query size, set > >> >> >> >min/max size hints so edje will do the right thing in sizing the > >> >> >> >object. swallow this object into the right swallow part name. efl, > >> >> >> >enlightenment, terminology, rage is full of code like this. you can > >> >> >> >use an elm image which will handle async loading for you and some > >> >> >> >other things if you want to pass off that handling to elementary. > >> >> >> > > >> >> >> >it all depends on your existing code and where you have started > >> >> >> >from. are you using a raw edje object. en elm layout (which wraps > >> >> >> >edje objects)? what other objects and code are you using? > >> >> >> > > >> >> >> >> At 2019-10-22 16:45:55, "Carsten Haitzler (The Rasterman)" > >> >> >> >> <[email protected]> wrote: > >> >> >> >> >On Tue, 22 Oct 2019 15:03:47 +0800 (CST) Jing > >> >> >> >> ><[email protected]> said: > >> >> >> >> > > >> >> >> >> >> Hi all, > >> >> >> >> >> I define a IMAGE part in my EDC file with a default image. And > >> >> >> >> >> call evas_object_image_file_set() to display a new image. But > >> >> >> >> >> when other parts receive a signal or event, this IMAGE part > >> >> >> >> >> will return to display the default png image, please advise > >> >> >> >> >> how to fix this issue, many thanks. > >> >> >> >> > > >> >> >> >> >never do that. the image is owned/controlled by edje. you are not > >> >> >> >> >meant to modify the object of an edje part in any way. also don't > >> >> >> >> >rely on it always existing. it may be deleted and re-created. you > >> >> >> >> >do not own this object. the edje parent does. > >> >> >> >> > > >> >> >> >> >if you want to have an image you can control, then SWALLOW parts > >> >> >> >> >are for that. you provide an object to edje to "swallow into" > >> >> >> >> >the part. this means edje will do these things to the swallowed > >> >> >> >> >object: > >> >> >> >> > > >> >> >> >> >1. move + resize this object > >> >> >> >> >2. stack it (raise/lower etc.) > >> >> >> >> >3. take over layer controls (just don't mess with the layer to > >> >> >> >> >begin with) > >> >> >> >> >4. show/hide as needed > >> >> >> >> >5. set clipper > >> >> >> >> >6. apply any evas maps > >> >> >> >> >7. control pass/repeat events flags > >> >> >> >> > > >> >> >> >> >when the edje parent is deleted, child swallowed objects are > >> >> >> >> >orphaned (they are kicked out of the parent edje) and it's up to > >> >> >> >> >you to clean them up or re-use them as needed. > >> >> >> >> > > >> >> >> >> >so create an image and then swallow this image object into a > >> >> >> >> >SWALLOW part. > >> >> >> >> > > >> >> >> >> > > >> >> >> >> >-- > >> >> >> >> >------------- Codito, ergo sum - "I code, therefore I am" > >> >> >> >> >-------------- Carsten Haitzler - [email protected] > >> >> >> > > >> >> >> > > >> >> >> >-- > >> >> >> >------------- Codito, ergo sum - "I code, therefore I am" > >> >> >> >-------------- Carsten Haitzler - [email protected] > >> >> >> > >> >> >> _______________________________________________ > >> >> >> enlightenment-devel mailing list > >> >> >> [email protected] > >> >> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > >> >> > > >> >> > > >> >> >_______________________________________________ > >> >> >enlightenment-devel mailing list > >> >> >[email protected] > >> >> >https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > >> >> > >> >> _______________________________________________ > >> >> enlightenment-devel mailing list > >> >> [email protected] > >> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > >> > > >> > > >> >-- > >> >------------- Codito, ergo sum - "I code, therefore I am" -------------- > >> >Carsten Haitzler - [email protected] > >> > >> _______________________________________________ > >> enlightenment-devel mailing list > >> [email protected] > >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > >-- > >------------- Codito, ergo sum - "I code, therefore I am" -------------- > >Carsten Haitzler - [email protected] -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- Carsten Haitzler - [email protected] _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
