`

Java SWT Image 图像 —— 放大 缩小 Scaling

 
阅读更多

There are times when this will not always be the case and you need to stretch or shrink the image, and there are two ways to do achieve this. The first is to use the GC to stretch and clip it, using GC.drawImage(Image image, int srcX, int srcY, int srcWidth, int srcHeight, int dstX, int dstY, int dstWidth, int dstHeight), and the second is to use ImageData.scaledTo(int width, int height) to create a new ImageData object based on scaling the receiver.

 

1,GC.drawImage(Image image, int srcX, int srcY, int srcWidth, int srcHeight, int dstX, int dstY, int dstWidth, int dstHeight);

2,ImageData.scaledTo(int width, int height)

 

		final Image image = new Image(display,
				getClass(),getResourceAsStream("Idea.jpg"));
		final int width = image.getBounds().width;
		final int height = image.getBounds().height;

		final Image scaled050 = new Image(display,
				image.getImageData().scaledTo((int)(width*0.5),(int)(height*0.5)));
		final Image scaled200 = new Image(display,
				image.getImageData().scaledTo((int)(width*2),(int)(height*2)));

		final Image scaledGC200 = new Image(display,(int)(width*2),(int)(height*2));
		GC gc = new GC(scaledGC200);
		gc.drawImage(image,0,0,width,height,0,0,width*2,height*2);
		gc.dispose();

		canvas.addPaintListener(new PaintListener() {
			public void paintControl(PaintEvent e) {
				e.gc.drawImage(image,0,0,width,height,0,0,(int)(width*0.5),(int)(height*0.5));
				e.gc.drawImage(scaled050,100,0);
				e.gc.drawImage(scaledGC200,0,75);
				e.gc.drawImage(scaled200,225,175);
			}
		});

 

 

 


分享到:
评论

相关推荐

    size-scaling.zip_digital zoom_图像的放大缩小

    本项目“size-scaling.zip”专注于探讨数字图像的放大缩小技术,通过Visual C++编程环境实现,并采用双线性插值方法来提高图像质量。 首先,我们要理解什么是数字缩放。数字缩放是针对数字图像进行的操作,它改变了...

    java-image-scaling-master

    "java-image-scaling-master"这个项目显然专注于图像的缩放、裁剪、压缩和格式转换,这些都是图像处理的核心任务。下面将详细介绍这些知识点。 **图像缩放** 图像缩放是指调整图像的大小,通常是为了适应不同的...

    java图片处理工具类JAR包 java-image-scalingjar

    java图片处理工具类JAR包 java-image-scalingjar

    c语言数字图像处理(二):图片放大与缩小-双线性内插法和仿射变换scaling.rar

    c语言数字图像处理(二):图片放大与缩小-双线性内插法和仿射变换scaling.rar c语言数字图像处理(二):图片放大与缩小-双线性内插法和仿射变换scaling.rar c语言数字图像处理(二):图片放大与缩小-双线性内插法...

    ImageScaling.zip

    本项目名为“ImageScaling.zip”,是一个专门用于批量处理图片缩放的工具,它采用OpenCV这一强大的计算机视觉库作为核心实现,确保了在放大或缩小图片的同时,能够最大程度地保持图片质量。 OpenCV(开源计算机视觉...

    scaling_matlab_图像处理_

    通过运行这个脚本,我们可以实现对`x.bmp`图像的几何空间变换——缩放。 总的来说,MATLAB为图像处理提供了丰富的工具和函数,涵盖了从基本的几何变换到复杂的仿射变换,再到噪声的模拟与处理。通过理解和应用这些...

    add.rar_Matlab图像缩放_image shearing_matlab图像处理_scaling_图像 剪切

    matlab图像处理实例,包含了图像变换,剪切,缩放,滤波等各方面实例。

    图像放大waifu2x算法vs opencv实现

    "Image_Scaling_waifu2x"这个压缩包可能包含了一个基于VS2013的示例项目,该项目演示了如何结合waifu2x算法和OpenCV3进行图像放大。通过运行这个示例,开发者可以直观地了解两种方法的差异,以及如何在实际项目中...

    图像处理-尺度变换scaling transformation

    在图像处理中,尺度变换是一种基础且至关重要的技术,它改变图像的大小,使得图像放大或缩小,适应不同的显示或分析需求。本项目以Matlab为工具,实现了两种常见的尺度变换方法:最近邻插值(Nearest-Neighbor ...

    aws-java-sdk-autoscaling-1.11.277.jar

    aws-java-sdk-autoscaling-1.11.277.jar

    java-image-scaling-0.8.6.jar

    java运行依赖jar包

    ImageScaling:C#图像缩放示例

    2. **创建缩放比例**:定义一个缩放因子,以确定图像应被放大或缩小的程度。这可以是两个浮点数,分别代表宽度和高度的比例。 3. **创建新尺寸**:基于原始图像的尺寸和缩放因子计算出新的尺寸。 4. **创建新图像*...

    Taking a look at SWT Images

    SWT (Standard Widget Toolkit) 是一个用于创建图形用户界面(GUI)的开源库,它被广泛应用于Eclipse IDE和其他基于Java的应用程序。在 SWT 中,`Image` 类是用来表示和显示图像的关键组件。本文由IBM的专家Joe ...

    my-scaler.rar_bmp图像_bmp缩放_image scaling_图像 缩放_图像缩放

    图像缩放源代码,该代码支持输入bmp文件格式,输出bmp格式。

    三角形放大缩小旋转

    "三角形放大缩小旋转"这一主题涉及到图形学中的基本变换操作,特别是针对图形元素如何在二维或三维空间中进行位置、大小和方向的调整。这里我们将深入探讨这些概念以及它们在实际应用中的实现。 首先,我们来理解...

    Face_Augmentation_forcezop_keras_ImageAugmentation_face_scaling_

    Current machine learning algorithms required extensive data to train the model. This code can generate augmented images of any single image.

    图像的几何运算GUI设计_image_geometric_

    在本项目中,“图像的几何运算GUI设计_image_geometric_”显然是一个图形用户界面(GUI)程序,它允许用户直观地对图像进行几何变换。下面将详细解释这个主题中的关键知识点。 首先,我们需要理解“图像几何运算”...

    A Sharp Scaling图片无损放大软件

    A Sharp Scaling是一款图片无损放大软件,免费好用,无需破解。

    matlab.rar_gray scaling_matlab 图片缩放_matlab图片旋转

    例如,`imresize(image, 0.5)`会将图像的尺寸缩小到原来的一半,而`imresize(image, [new_width new_height])`则可以设定具体的目标尺寸。 最后,我们讨论图片旋转。在MATLAB中,可以使用`imrotate`函数来旋转图像...

Global site tag (gtag.js) - Google Analytics