图片缩放通常涉及到编程和特定的编程语言。这里提供几种主流编程语言的图片缩放实现方法:
-
Python(使用PIL库):
python复制代码
from PIL import Image | |
def resize_image(input_image_path, output_image_path, size): | |
original_image = Image.open(input_image_path) | |
width, height = original_image.size | |
print(f"The original image size is {width} wide x {height} tall") | |
resized_image = original_image.resize(size) | |
width, height = resized_image.size | |
print(f"The resized image size is {width} wide x {height} tall") | |
resized_image.show() | |
resized_image.save(output_image_path) | |
# 使用方法 | |
resize_image('original.jpg', 'resized.jpg', (800, 600)) |
-
JavaScript(使用canvas):
javascript复制代码
function resizeImage(inputImage, outputImage, maxSize) { | |
var input = document.createElement("img"); | |
input.src = inputImage; | |
var canvas = document.createElement("canvas"); | |
var ctx = canvas.getContext("2d"); | |
var ratio = Math.min(maxSize / input.width, maxSize / input.height); | |
var newWidth = input.width * ratio; | |
var newHeight = input.height * ratio; | |
canvas.width = newWidth; | |
canvas.height = newHeight; | |
ctx.drawImage(input, 0, 0, newWidth, newHeight); | |
var output = canvas.toDataURL("image/jpeg", 1.0); | |
document.write('<img src="' + output + '" title="' + outputImage + '">'); | |
} | |
// 使用方法 | |
resizeImage('original.jpg', 'resized.jpg', 800); |
-
Java(使用JavaFX的ImageView组件):
java复制代码
import javafx.application.Application; | |
import javafx.scene.Scene; | |
import javafx.scene.image.Image; | |
import javafx.scene.image.ImageView; | |
import javafx.scene.layout.StackPane; | |
import javafx.stage.Stage; | |
import javafx.geometry.Rectangle2D; | |
import javafx.scene.image.WritableImage; | |
import javafx.scene.paint.Color; | |
import javafx.util.converter.NumberStringConverter; | |
import javafx.geometry.*; | |
import javafx.*; | |
import java.*; | |
import javax.*; | |
import javafx.scene.*; | |
import javafx.scene.image.*; | |
import javafx.scene.paint.*; | |
import javafx.application.*; | |
import javafx.stage.*; | |
import javafx.scene.layout.*; | |
import javafx.geometry.*; | |
import javafx.*; | |
import java.*; | |
import javax.*; |