U++ framework
Do not panic. Ask here before giving up.

Home » Developing U++ » U++ Developers corner » Animated GIF support, anybody?
Re: Animated GIF support, anybody? [message #26979 is a reply to message #26969] Wed, 16 June 2010 14:15 Go to previous messageGo to previous message
koldo is currently offline  koldo
Messages: 3458
Registered: August 2008
Senior Veteran
Hello Mirek

Here I enclose you the files changed.

Just for testing (do not consider it a serious player Smile ) I have used the next simple code. It shows 100 frames repeating them if the gif have less frames. Delay is considered but aspect is not.

	FileIn in(fileName);
	One<StreamRaster> raster = StreamRaster::OpenAny(in);
	int ind = 0;
	for (int i = 0; i < 100; ++i) {
		raster->SeekPage(ind);
		image = raster->GetImage();
		
		Refresh();
		Ctrl::ProcessEvents();

		int delay = raster->GetPageDelay(ind);
		if (delay <= 0)
			Sleep(100);
		else
			Sleep(delay*10);
		
		if (ind < raster->GetPageCount()-1)
			ind++;
		else
			ind = 0;				
	}


I have added two new virtual functions:

virtual int GetPageAspect(int n);
virtual int GetPageDelay(int n); 



In GIF format it is defined a delay per frame, but an aspect ratio for all frame set, so a GetAspect(void) version would be valid.

  • Attachment: GifFiles.7z
    (Size: 10.27KB, Downloaded 374 times)


Best regards
IƱaki
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Linux anti-aliasing fonts problem
Next Topic: TheIde SVN problem in windows 7
Goto Forum:
  


Current Time: Wed Apr 29 05:40:00 GMT+2 2026

Total time taken to generate the page: 0.01193 seconds