- double scale = 1;
- if ((imageWidth > maxWidth) || (imageHeight > maxHeight)) {
- scale = Math.min(maxWidth / (double) imageWidth, maxHeight / (double) imageHeight);
+ if ("enlarge".equals(mode)) {
+ double scale = Math.max(maxWidth / (double) imageWidth, maxHeight / (double) imageHeight);
+ linkTemplateContext.set("width", (int) (imageWidth * scale + 0.5));
+ linkTemplateContext.set("height", (int) (imageHeight * scale + 0.5));
+ linkTemplateContext.set("left", String.format("%dpx", (int) (maxWidth - (imageWidth * scale)) / 2));
+ linkTemplateContext.set("top", String.format("%dpx", (int) (maxHeight - (imageHeight * scale)) / 2));
+ } else {
+ double scale = 1;
+ if ((imageWidth > maxWidth) || (imageHeight > maxHeight)) {
+ scale = Math.min(maxWidth / (double) imageWidth, maxHeight / (double) imageHeight);
+ }
+ linkTemplateContext.set("width", (int) (imageWidth * scale + 0.5));
+ linkTemplateContext.set("height", (int) (imageHeight * scale + 0.5));