forked from enlightenment/efl
more compile options.. allow image sot be FORCIBLY rescaled so u can include
like 1/2 or 1/4 res images to make a smaller .eet :) SVN revision: 11825
This commit is contained in:
parent
0a7178b883
commit
2820c696d4
|
@ -14,6 +14,9 @@ int no_comp = 0;
|
|||
int no_raw = 0;
|
||||
int min_quality = 0;
|
||||
int max_quality = 100;
|
||||
int scale_lossy = 100;
|
||||
int scale_comp = 100;
|
||||
int scale_raw = 100;
|
||||
|
||||
static void
|
||||
main_help(void)
|
||||
|
@ -28,10 +31,13 @@ main_help(void)
|
|||
"-fd font/directory Add a directory to look in for relative path fonts\n"
|
||||
"-v Verbose output\n"
|
||||
"-no-lossy Do NOT allow images to be lossy\n"
|
||||
"-no-comp Do NOT allow images to be lossless compression\n"
|
||||
"-no-raw Do NOT allow images to be zero compression\n"
|
||||
"-no-comp Do NOT allow images to be stored with lossless compression\n"
|
||||
"-no-raw Do NOT allow images to be stored with zero compression (raw)\n"
|
||||
"-min-quality VAL Do NOT allow lossy images with quality < VAL (0-100)\n"
|
||||
"-max-quality VAL Do NOT allow lossy images with quality > VAL (0-100)\n"
|
||||
"-scale-lossy VAL Scale lossy image pixels by this percentage factor (0 - 100)\n"
|
||||
"-scale-comp VAL Scale lossless compressed image pixels by this percentage factor (0 - 100)\n"
|
||||
"-scale-raw VAL Scale uncompressed (raw) image pixels by this percentage factor (0 - 100)\n"
|
||||
,progname);
|
||||
}
|
||||
|
||||
|
@ -68,28 +74,49 @@ main(int argc, char **argv)
|
|||
}
|
||||
else if ((!strcmp(argv[i], "-id")) && (i < (argc - 1)))
|
||||
{
|
||||
i++;
|
||||
i++;
|
||||
img_dirs = evas_list_append(img_dirs, argv[i]);
|
||||
}
|
||||
else if ((!strcmp(argv[i], "-fd")) && (i < (argc - 1)))
|
||||
{
|
||||
i++;
|
||||
i++;
|
||||
fnt_dirs = evas_list_append(fnt_dirs, argv[i]);
|
||||
}
|
||||
else if ((!strcmp(argv[i], "-min-quality")) && (i < (argc - 1)))
|
||||
{
|
||||
i++;
|
||||
i++;
|
||||
min_quality = atoi(argv[i]);
|
||||
if (min_quality < 0) min_quality = 0;
|
||||
if (min_quality > 100) min_quality = 100;
|
||||
}
|
||||
else if ((!strcmp(argv[i], "-max-quality")) && (i < (argc - 1)))
|
||||
{
|
||||
i++;
|
||||
i++;
|
||||
max_quality = atoi(argv[i]);
|
||||
if (max_quality < 0) max_quality = 0;
|
||||
if (max_quality > 100) max_quality = 100;
|
||||
}
|
||||
else if ((!strcmp(argv[i], "-scale-lossy")) && (i < (argc - 1)))
|
||||
{
|
||||
i++;
|
||||
scale_lossy = atoi(argv[i]);
|
||||
if (scale_lossy < 0) scale_lossy = 0;
|
||||
if (scale_lossy > 100) scale_lossy = 100;
|
||||
}
|
||||
else if ((!strcmp(argv[i], "-scale-comp")) && (i < (argc - 1)))
|
||||
{
|
||||
i++;
|
||||
scale_comp = atoi(argv[i]);
|
||||
if (scale_comp < 0) scale_comp = 0;
|
||||
if (scale_comp > 100) scale_comp = 100;
|
||||
}
|
||||
else if ((!strcmp(argv[i], "-scale-raw")) && (i < (argc - 1)))
|
||||
{
|
||||
i++;
|
||||
scale_raw = atoi(argv[i]);
|
||||
if (scale_raw < 0) scale_raw = 0;
|
||||
if (scale_raw > 100) scale_raw = 100;
|
||||
}
|
||||
else if (!file_in)
|
||||
file_in = argv[i];
|
||||
else if (!file_out)
|
||||
|
|
|
@ -133,6 +133,9 @@ extern int no_comp;
|
|||
extern int no_raw;
|
||||
extern int min_quality;
|
||||
extern int max_quality;
|
||||
extern int scale_lossy;
|
||||
extern int scale_comp;
|
||||
extern int scale_raw;
|
||||
extern int line;
|
||||
extern Evas_List *stack;
|
||||
extern Evas_List *params;
|
||||
|
|
|
@ -261,6 +261,43 @@ data_write(void)
|
|||
imlib_context_set_image(im);
|
||||
im_w = imlib_image_get_width();
|
||||
im_h = imlib_image_get_height();
|
||||
if ((img->source_type == EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT) &&
|
||||
(img->source_param == 0) &&
|
||||
(scale_raw != 100))
|
||||
{
|
||||
im = imlib_create_cropped_scaled_image(0, 0,
|
||||
im_w, im_h,
|
||||
(im_w * scale_raw) / 100,
|
||||
(im_h * scale_raw) / 100);
|
||||
imlib_free_image();
|
||||
imlib_context_set_image(im);
|
||||
im_w = imlib_image_get_width();
|
||||
im_h = imlib_image_get_height();
|
||||
}
|
||||
else if ((img->source_type == EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT) &&
|
||||
(img->source_param == 1) &&
|
||||
(scale_comp != 100))
|
||||
{
|
||||
im = imlib_create_cropped_scaled_image(0, 0,
|
||||
im_w, im_h,
|
||||
(im_w * scale_comp) / 100,
|
||||
(im_h * scale_comp) / 100);
|
||||
imlib_free_image();
|
||||
imlib_context_set_image(im);
|
||||
im_w = imlib_image_get_width();
|
||||
im_h = imlib_image_get_height();
|
||||
}
|
||||
else if (scale_lossy != 100)
|
||||
{
|
||||
im = imlib_create_cropped_scaled_image(0, 0,
|
||||
im_w, im_h,
|
||||
(im_w * scale_lossy) / 100,
|
||||
(im_h * scale_lossy) / 100);
|
||||
imlib_free_image();
|
||||
imlib_context_set_image(im);
|
||||
im_w = imlib_image_get_width();
|
||||
im_h = imlib_image_get_height();
|
||||
}
|
||||
im_alpha = imlib_image_has_alpha();
|
||||
im_data = imlib_image_get_data_for_reading_only();
|
||||
if ((im_data) && (im_w > 0) && (im_h > 0))
|
||||
|
|
Loading…
Reference in New Issue