Thumbnail cache file format depending on existance of alpha layer
Use PNG if image has alpha layer, JPG if not. Fixes issue #209
This commit is contained in:
		
							parent
							
								
									9264a65c19
								
							
						
					
					
						commit
						d8114e841c
					
				
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							| @ -1,4 +1,4 @@ | ||||
| VERSION   := git-20150518 | ||||
| VERSION   := git-20150722 | ||||
| 
 | ||||
| PREFIX    := /usr/local | ||||
| MANPREFIX := $(PREFIX)/share/man | ||||
|  | ||||
							
								
								
									
										12
									
								
								thumbs.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								thumbs.c
									
									
									
									
									
								
							| @ -48,9 +48,9 @@ char* tns_cache_filepath(const char *filepath) | ||||
| 	 | ||||
| 	if (strncmp(filepath, cache_dir, strlen(cache_dir)) != 0) { | ||||
| 		/* don't cache images inside the cache directory! */ | ||||
| 		len = strlen(cache_dir) + strlen(filepath) + 6; | ||||
| 		len = strlen(cache_dir) + strlen(filepath) + 2; | ||||
| 		cfile = (char*) s_malloc(len); | ||||
| 		snprintf(cfile, len, "%s/%s.jpg", cache_dir, filepath + 1); | ||||
| 		snprintf(cfile, len, "%s/%s", cache_dir, filepath + 1); | ||||
| 	} | ||||
| 	return cfile; | ||||
| } | ||||
| @ -101,8 +101,12 @@ void tns_cache_write(Imlib_Image im, const char *filepath, bool force) | ||||
| 			} | ||||
| 			if (err == 0) { | ||||
| 				imlib_context_set_image(im); | ||||
| 				imlib_image_set_format("jpg"); | ||||
| 				imlib_image_attach_data_value("quality", NULL, 90, NULL); | ||||
| 				if (imlib_image_has_alpha()) { | ||||
| 					imlib_image_set_format("png"); | ||||
| 				} else { | ||||
| 					imlib_image_set_format("jpg"); | ||||
| 					imlib_image_attach_data_value("quality", NULL, 90, NULL); | ||||
| 				} | ||||
| 				imlib_save_image_with_error_return(cfile, &err); | ||||
| 			} | ||||
| 			if (err == 0) { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Bert Münnich
						Bert Münnich