JavaFXCanvas:Make image";“平坦”;
在JavaFX画布中使用GraphicsContext是否可以选择在(3D)y轴上旋转图像 我考虑应用仿射变换。可悲的是,我只走了那么远,我能够剪切和旋转的图像,这并没有在我寻找的角度结果 多亏了“费边” 解决方案是透视变换() 例如,此代码返回所需效果的变换JavaFXCanvas:Make image";“平坦”;,javafx,Javafx,在JavaFX画布中使用GraphicsContext是否可以选择在(3D)y轴上旋转图像 我考虑应用仿射变换。可悲的是,我只走了那么远,我能够剪切和旋转的图像,这并没有在我寻找的角度结果 多亏了“费边” 解决方案是透视变换() 例如,此代码返回所需效果的变换 static PerspectiveTransform getTransform(double x, double y, double width) { double hf = 0.3; // Height Factor
static PerspectiveTransform getTransform(double x, double y, double width) {
double hf = 0.3; // Height Factor (0 < hf < 1)
double df = 0.2; // Deepth-Factor (0 < df < 0.5)
double heightDif = (1 - hf) * width;
PerspectiveTransform pt = new PerspectiveTransform();
pt.setUlx(x + (df * width)); // upper left x
pt.setUly(y + heightDif); // upper left y
pt.setUrx(x + width - (df * width)); // upper right x
pt.setUry(y + heightDif); // upper right y
pt.setLlx(x); // lower left x
pt.setLly(y + width * hf + heightDif); // lower left y
pt.setLrx(x + width); // lower right x
pt.setLry(y + width * hf + heightDif); lower right y
return pt;
}
静态透视变换getTransform(双x、双y、双宽度){
双hf=0.3;//高度系数(0
可以通过执行canvas.getGraphicsContext2D().setEffect(getTransform(…))来应用转换代码>
在x和y处绘制的任何正方形图像都将像图中所示那样弯曲