小编nas*_*983的帖子

java swt image(imagedata)旋转

我正在尝试做一个简单的程序,我可以在画布上添加一些png.其中一个选项是旋转选定的png.我有旋转问题.当我使用Transformation时,它会在画布上旋转所有内容.我只创建了旋转90'或翻转的例子,但我想以任何角度旋转.

我也试图将swt图像转换为bufferedimage,旋转然后将bufferedimage转换为swt图像并绘制它,但它非常慢并且在透明度方面存在一些问题.

我将感激不尽的帮助 - 我想通过图像中心旋转.对于drawig我正在使用GC和Canvas - 新的GC(画布);


编辑: 我仍然有图像中心旋转问题:

gc.setAdvanced(true);
        if (!gc.getAdvanced()) {
            gc.drawText("Advanced graphics not supported", 30, 30, true);
            return;
        }

        Transform oldTransform = new Transform(gc.getDevice());  
        gc.getTransform(oldTransform);

        Transform transform = new Transform(GCController.getCanvas().getDisplay());
        transform.translate(width/2, height/2);
        transform.rotate(rotation);
        gc.setTransform(transform);
        gc.drawImage(image, x, y);

        gc.setTransform(oldTransform);

        transform.dispose();
Run Code Online (Sandbox Code Playgroud)

java swt image rotation

2
推荐指数
1
解决办法
5175
查看次数

标签 统计

image ×1

java ×1

rotation ×1

swt ×1