in JS version Playlist mod I see:
var panel_ratio = iw / ih;
wpp_img_info.ratio = image.Width / image.Height;
wpp_img_info.orient = 0;
if (wpp_img_info.ratio > panel_ratio) {
wpp_img_info.orient = 1;
// 1/3 : default image is in landscape mode
switch (display_mode) {
case 0: // Filling
//wpp_img_info.w = iw * wpp_img_info.ratio / panel_ratio;
wpp_img_info.w = ih * wpp_img_info.ratio;
wpp_img_info.h = ih;
wpp_img_info.cut = wpp_img_info.w - iw;
wpp_img_info.x = 0 - (wpp_img_info.cut / 2);
wpp_img_info.y = 0;
break;
case 1: // Adjust
wpp_img_info.w = iw;
wpp_img_info.h = ih / wpp_img_info.ratio * panel_ratio;
wpp_img_info.cut = ih - wpp_img_info.h;
wpp_img_info.x = 0;
wpp_img_info.y = wpp_img_info.cut / 2;
break;
case 2: // Stretch
wpp_img_info.w = iw;
wpp_img_info.h = ih;
wpp_img_info.cut = 0;
wpp_img_info.x = 0;
wpp_img_info.y = 0;
break;
}
} else if (wpp_img_info.ratio < panel_ratio) {
wpp_img_info.orient = 2;
// 2/3 : default image is in portrait mode
switch (display_mode) {
case 0: // Filling
wpp_img_info.w = iw;
//wpp_img_info.h = ih / wpp_img_info.ratio * panel_ratio;
wpp_img_info.h = iw / wpp_img_info.ratio;
wpp_img_info.cut = wpp_img_info.h - ih;
wpp_img_info.x = 0;
wpp_img_info.y = 0 - (wpp_img_info.cut / 4);
break;
case 1: // Adjust
wpp_img_info.h = ih;
wpp_img_info.w = iw * wpp_img_info.ratio / panel_ratio;
wpp_img_info.cut = iw - wpp_img_info.w;
wpp_img_info.y = 0;
wpp_img_info.x = wpp_img_info.cut / 2;
break;
case 2: // Stretch
wpp_img_info.w = iw;
wpp_img_info.h = ih;
wpp_img_info.cut = 0;
wpp_img_info.x = 0;
wpp_img_info.y = 0;
break;
}
} else {
// 3/3 : default image is a square picture, ratio = 1
wpp_img_info.w = iw;
wpp_img_info.h = ih;
wpp_img_info.cut = 0;
wpp_img_info.x = 0;
wpp_img_info.y = 0;
}
var tmp_img = gdi.CreateImage(iw, ih);
var gp = tmp_img.GetGraphics();
gp.SetInterpolationMode(interpolation_mode);
gp.DrawImage(image, wpp_img_info.x, wpp_img_info.y, wpp_img_info.w, wpp_img_info.h, 0, 0, image.Width, image.Height, angle, 255);
tmp_img.ReleaseGraphics(gp);
// blur it!
if (properties.wallpaperblurred) {
var blur_factor = properties.wallpaperblurvalue; // [1-90]
tmp_img = draw_blurred_image(tmp_img, 0, 0, tmp_img.Width, tmp_img.Height, 0, 0, tmp_img.Width, tmp_img.Height, blur_factor, 0x00ffffff);
}
if (rawBitmap) {
return tmp_img.CreateRawBitmap();
} else {
return tmp_img;
}
}
wpp_img_info.orient = 0
Changing 0 to 2/1 does nothing.
[/pre]
[/pre]