- 浏览: 564247 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (344)
- ··············未分类············· (33)
- Eclipse 插件 (15)
- EDA 工具 (1)
- Linux/Unix (3)
- Java (43)
- Java Applet (1)
- Java Draw2d (22)
- Java Draw2d version2 (6)
- Java GEF (2)
- Java SWT (21)
- Java SWT Image 图像 (21)
- Java SWT Tree (16)
- Java SWT Table (4)
- Java SWT TableViewer (11)
- Java SWTbot (4)
- Java Test (2)
- Java Thread 多线程 (22)
- Java Zest (5)
- RC2_3S400学习笔记 (16)
- tcl 脚本 (10)
- Verilog (7)
- XML (6)
- 国家 (5)
- 感叹 (4)
- 面试题 (9)
- 生活 (36)
- 足球 世界杯 (8)
- 老公看你的 (3)
- web开发 (1)
- 数据结构——图 (7)
- c language (1)
最新评论
-
zxjlwt:
路过素人派http://surenpi.com
SWT 树的事件 SWT.Selection SWT.CHECK SWT.DefaultSelection -
hj01kkk:
1楼用法正解
JDK 7 中的 Fork/Join 模式 -
fish_no7:
使用 new SortTask().fork()
JDK 7 中的 Fork/Join 模式 -
wpf523:
mark
Java 多线程例子6 线程安全 线程同步 同步代码块 同步函数 -
uniquejava:
以前碰到过,估计是在icu包中实现了双击自动选中一段文本的功能 ...
java.lang.NoClassDefFoundError: com/ibm/icu/text/BreakIterator
例子:Snippet139
public class Snippet139 { static ImageData rotate(ImageData srcData, int direction) { int bytesPerPixel = srcData.bytesPerLine / srcData.width; int destBytesPerLine = (direction == SWT.DOWN)? srcData.width * bytesPerPixel : srcData.height * bytesPerPixel; byte[] newData = new byte[(direction == SWT.DOWN)? srcData.height * destBytesPerLine : srcData.width * destBytesPerLine]; int width = 0, height = 0; for (int srcY = 0; srcY < srcData.height; srcY++) { for (int srcX = 0; srcX < srcData.width; srcX++) { int destX = 0, destY = 0, destIndex = 0, srcIndex = 0; switch (direction){ case SWT.LEFT: // left 90 degrees destX = srcY; destY = srcData.width - srcX - 1; width = srcData.height; height = srcData.width; break; case SWT.RIGHT: // right 90 degrees destX = srcData.height - srcY - 1; destY = srcX; width = srcData.height; height = srcData.width; break; case SWT.DOWN: // 180 degrees destX = srcData.width - srcX - 1; destY = srcData.height - srcY - 1; width = srcData.width; height = srcData.height; break; } destIndex = (destY * destBytesPerLine) + (destX * bytesPerPixel); srcIndex = (srcY * srcData.bytesPerLine) + (srcX * bytesPerPixel); System.arraycopy(srcData.data, srcIndex, newData, destIndex, bytesPerPixel); } } // destBytesPerLine is used as scanlinePad to ensure that no padding is required return new ImageData(width, height, srcData.depth, srcData.palette, srcData.scanlinePad, newData); } static ImageData flip(ImageData srcData, boolean vertical) { int bytesPerPixel = srcData.bytesPerLine / srcData.width; int destBytesPerLine = srcData.width * bytesPerPixel; byte[] newData = new byte[srcData.data.length]; for (int srcY = 0; srcY < srcData.height; srcY++) { for (int srcX = 0; srcX < srcData.width; srcX++) { int destX = 0, destY = 0, destIndex = 0, srcIndex = 0; if (vertical){ destX = srcX; destY = srcData.height - srcY - 1; } else { destX = srcData.width - srcX - 1; destY = srcY; } destIndex = (destY * destBytesPerLine) + (destX * bytesPerPixel); srcIndex = (srcY * srcData.bytesPerLine) + (srcX * bytesPerPixel); System.arraycopy(srcData.data, srcIndex, newData, destIndex, bytesPerPixel); } } // destBytesPerLine is used as scanlinePad to ensure that no padding is required return new ImageData(srcData.width, srcData.height, srcData.depth, srcData.palette, srcData.scanlinePad, newData); } public static void main(String[] args) { Display display = new Display(); // create an image with the word "hello" on it final Image image0 = new Image(display, 50, 30); GC gc = new GC(image0); gc.setBackground(display.getSystemColor(SWT.COLOR_RED)); gc.fillRectangle(image0.getBounds()); gc.drawString("hello", 5, 5, true); gc.dispose(); ImageData data = image0.getImageData(); // rotate and flip this image final Image image1 = new Image(display, rotate(data, SWT.LEFT)); final Image image2 = new Image(display, rotate(data, SWT.RIGHT)); final Image image3 = new Image(display, rotate(data, SWT.DOWN)); final Image image4 = new Image(display, flip(data, true)); final Image image5 = new Image(display, flip(data, false)); Shell shell = new Shell(display); // draw the results on the shell shell.addPaintListener(new PaintListener(){ public void paintControl(PaintEvent e) { e.gc.drawText("Original Image:", 10, 10, true); e.gc.drawImage(image0, 10, 40); e.gc.drawText("Left, Right, 180:", 10, 80, true); e.gc.drawImage(image1, 10, 110); e.gc.drawImage(image2, 50, 110); e.gc.drawImage(image3, 90, 110); e.gc.drawText("Flipped Vertical, Horizontal:", 10, 170, true); e.gc.drawImage(image4, 10, 200); e.gc.drawImage(image5, 70, 200); } }); shell.setSize(300, 300); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } image0.dispose(); image1.dispose(); image2.dispose(); image3.dispose(); image4.dispose(); image5.dispose(); display.dispose(); } }
发表评论
-
SWT display wave显示波形
2016-09-17 16:05 674package plug_in_test; impor ... -
SWT 图片背景平铺
2016-09-16 18:11 833label.addPaintListener(new P ... -
控件和背景图片一样大小
2013-12-13 16:56 1948控件和背景图片一样大小 import org.ecl ... -
设置图像的左上角像素点为透明点
2013-09-02 16:50 1839public class TransparentImage ... -
direct 图,改变图像的饱和度和亮度
2013-01-10 15:35 983public class PaletteDirectExam ... -
改变图像的饱和度和亮度
2012-02-16 18:02 1406例子: public class RGBchange ... -
Java SWT Image 图像 —— 透明度 alpha数组
2012-02-08 15:57 1681对于图像深度是2、4、8的图像,可以指定transparent ... -
利用Transform 画一个图像的反射,倒影
2012-02-02 16:24 986例子:Snippet279 public class Sni ... -
图像深度的转化 16到8
2012-02-02 16:09 1269对于小于16*16=256的图像是一定可以用图像深度8来表示, ... -
Java SWT Image 图像 —— mask
2012-02-02 15:38 1173原文链接:http://www.eclipse.org/art ... -
Java SWT Image 图像 —— 放大 缩小 Scaling
2012-01-19 16:03 3352There are times when this will ... -
Java SWT Image 图像 —— 动态显示 Snippet141
2012-01-19 15:52 2594Snippet141 能够动态打开一个GIF文件。 p ... -
Java SWT Image 图像 ——COPY、DISABLE、GRAY
2012-01-19 14:27 1249SWT的预定了一些图像的效果: The flag argum ... -
Java SWT Image 图像 —— 透明度 alpha
2012-01-19 14:20 3944原文:http://www.eclipse.org/artic ... -
【图像透明】将一些相似白色点转化为白色
2012-01-19 15:57 1079有的图像是透明的,但是透明的不完全,就是有一些假的透明色。 ... -
Java SWT 图像 PaletteData 索引图和直接图
2012-01-18 17:22 1597索引图(Indexed palette): 就是在palet ... -
Java SWT Image 图像 —— 反色、拉伸、透明叠加
2012-01-18 16:36 6932图像反色 对于彩色图像的 R、G、B 各彩色分量取反的技术就 ... -
Java SWT Image 图像 —— 变灰、变亮变黑、旋转、反色、拉伸、透明叠加
2012-01-18 16:23 3254图像变灰 图像变灰在桌面应用程序中有着广泛的应用。例如,一个 ... -
SWT 图像的文件读取和文件保存
2012-01-18 16:14 5027我们可以使用类 org.eclipse.swt.graphic ... -
SWT 图像 —— 简介
2012-01-18 15:34 2134Java Image的文章中应用的原文有: http://w ...
相关推荐
在图像处理领域,图片旋转是一项基础且重要的操作。在标题“图片旋转 CCD_CCD如何旋转_图片旋转的dll_visionpro联合C#实现图像旋转_”中,涉及到的关键技术包括CCD(Charge-Coupled Device)相机的工作原理,以及...
在本大作业中,我们将使用 Verilog 语言来实现图像旋转90度,并使用 C++ 语言读取图片和生成旋转后的图片。 图像旋转的需求分析 在图像处理领域中,图像旋转是一个非常重要的操作。旋转图像可以帮助我们更好地...
图片旋转是通过`Rotate`方法实现的。该方法接受一个`RotationFlags`枚举值作为参数,表示旋转方向。以下是一些常见的旋转操作: 1. **左旋转90°**: 使用`RotationFlags.Rotate90Clockwise`,表示顺时针旋转90度...
标题中的“delphi基于gdi+的图片旋转任意角度”是指使用Delphi编程语言结合GDI+库来实现图像的任意角度旋转功能。GDI+是Microsoft提供的图形设备接口,它扩展了传统的GDI(图形设备接口),增加了对矢量图形、图像...
在图像处理领域,旋转变换是一种常见的操作,用于改变图像的方向或角度。在这个主题中,我们将深入探讨如何实现图像的旋转代码,以及涉及到的关键技术点。 图像旋转主要分为两种类型:仿射变换和平移变换。这里提到...
### 双线性插值算法实现图像旋转 #### 核心知识点 1. **双线性插值原理** 2. **图像旋转基本概念** 3. **实现细节:坐标变换与像素值估算** #### 双线性插值原理 双线性插值是一种用于图像处理中的重采样技术,...
传统的图片旋转是通过简单地改变图片的像素来实现的,但由于旋转后图片的尺寸变化,通常会使得原始图片的边缘部分超出新图像的边界,形成黑边。为了解决这个问题,我们需要在旋转图片后,找到新图像中非黑边的部分,...
图片旋转是计算机图形学中的一个常见任务,尤其在图像处理和多媒体应用中。这个压缩包提供的资源似乎包含了一个动态链接库(DLL)和相应的源代码,用于实现图像任意角度旋转的功能,并且支持多种编程语言,如C、C++...
在图像处理领域,尤其是使用Halcon这种专业机器视觉软件时,可能会遇到图片旋转后四角丢失的问题。这通常是由于图片旋转操作导致的像素裁剪。本文将深入探讨这个问题,并提供有效的解决方案。 首先,理解问题的根源...
在Delphi编程环境中,开发一款图像旋转控件是一项常见的任务,尤其对于那些涉及到图像处理的软件。本控件,名为“rotateimage.v1.4”,显然专注于提供图像旋转功能,使得用户可以方便地对图像进行角度调整。这个控件...
Halcon图像旋转不被剪切,分为单通道图像和三通道彩色图像;将原始图像放在最小外接圆的外接正方形的画布上,中心对中心的仿射变换使原始图像无论怎么旋转都不会被窗口剪切
在C++编程中,图像处理是一项常见的任务,其中包括旋转图像这一功能。本篇文章将深入探讨如何使用C++来实现图像的旋转操作。首先,我们需要理解图像旋转的基本原理,然后介绍必要的库函数,最后通过示例代码展示具体...
基于MATLAB的图像旋转,可以设定任意旋转轴,包括常见的X轴,Y轴,Z轴旋转,可以旋转任意角度,代码具有通用性,操作方便,可以扩展,旋转的核心部分已经写成函数,可以被调用,可以用于图像旋转展示,以及其他需要...
### 基于VC的图像旋转源码解析 #### 一、概述 本文将深入解析一个基于Visual C++(简称VC)实现的图像旋转功能。该功能的核心是通过旋转DIB(Device Independent Bitmap,设备独立位图)图像,并在旋转过程中采用...
综上所述,要实现“旋转图片C#,使图片旋转”的功能,开发者需要掌握C#的图像处理库,理解旋转算法和几何变换,以及如何在.NET Framework中操作Bitmap和Graphics对象。通过编写代码,将这些知识点融合在一起,即可...
图像旋转是计算机图形学中的一个基本操作,广泛应用于图像处理、计算机视觉以及游戏开发等领域。在二维平面上,我们可以通过坐标变换来实现图像的旋转。这里我们主要讨论的是围绕原点进行旋转的情况。 首先,我们要...
在图像处理领域,旋转图像是一项常见的操作。C语言作为底层编程语言,虽然不像高级语言那样有现成的库函数可以直接调用,但通过手动编写代码,我们仍然可以实现图像的旋转功能,特别是对于二值图像(只有黑色和白色...
4. **旋转矩阵**:图像旋转可以用一个2x2的旋转矩阵表示,其中包含旋转角度的信息。旋转矩阵公式为: \[ R = \begin{bmatrix} \cos(\theta) & -\sin(\theta) \\ \sin(\theta) & \cos(\theta) \end{bmatrix} \] ...
- 结合图形库,可以将旋转功能集成到自己的应用程序中,用于处理图片或显示动态效果。 综上所述,这个图像旋转演示程序和源代码是学习和实践图像处理技术的好材料,特别是对于理解和实现图像旋转的算法有极大的...
在这个“易语言图片旋转”主题中,我们将探讨如何使用易语言来处理图像的旋转、翻转等操作。 在计算机图形学中,图像的旋转和翻转是常见的图像处理技术。这些操作通常涉及到矩阵运算和图像像素的重新映射。在易语言...