本文整理汇总了Java中javax.media.jai.PerspectiveTransform.getQuadToQuad方法的典型用法代码示例。如果您正苦于以下问题:Java PerspectiveTransform.getQuadToQuad方法的具体用法?Java PerspectiveTransform.getQuadToQuad怎么用?Java PerspectiveTransform.getQuadToQuad使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javax.media.jai.PerspectiveTransform
的用法示例。
在下文中一共展示了PerspectiveTransform.getQuadToQuad方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: build
import javax.media.jai.PerspectiveTransform; //导入方法依赖的package包/类
public static WarpPerspective build(double nwx, double nwy, double nex, double ney, double sex, double sey, double swx, double swy, double w, double h) {
// CHECKSTYLE:ON
PerspectiveTransform transform = PerspectiveTransform.getQuadToQuad(nwx, nwy, nex, ney, sex, sey, swx, swy, 0, h, w, h, w, 0, 0, 0);
WarpPerspective wp = new WarpPerspective(transform);
return wp;
}
示例2: calculateMesh
import javax.media.jai.PerspectiveTransform; //导入方法依赖的package包/类
public void calculateMesh() {
// Calculate 4 point warping from source and destination quads
PerspectiveTransform transform = PerspectiveTransform.getQuadToQuad(
points[TL].u,points[TL].v, // source to
points[TR].u, points[TR].v,
points[DR].u, points[DR].v,
points[DL].u, points[DL].v,
points[TL].x, points[TL].y,
points[TR].x, points[TR].y,
points[DR].x, points[DR].y,
points[DL].x, points[DL].y); // dest
warpPerspective = new WarpPerspective(transform);
}
示例3: ScreenSelector
import javax.media.jai.PerspectiveTransform; //导入方法依赖的package包/类
public ScreenSelector(WiimoteCalibration calibration, WiimoteDataHandler dh) {
super(null);
this.calibration = calibration;
// this.dh = dh;
dh.addWiimoteDataListener(this);
final GraphicsDevice[] screens = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices();
// calculate maximum screen bounds (virtual device)
Rectangle r = new Rectangle();
for (GraphicsDevice s : screens) {
r = r.union(s.getDefaultConfiguration().getBounds());
}
final int maxH = MAX_H - (screens.length == 1 ? 30 : 0);
// proportional bounds of panel
int w = MAX_W;
int h = (int) Math.round((w * r.getHeight()) / r.getWidth());
// if too high
if (h > maxH) {
h = maxH;
w = (int) Math.round((h * r.getWidth()) / r.getHeight());
}
setPreferredSize(new Dimension(w, h));
// map screen bounds to panel bounds
PerspectiveTransform t = PerspectiveTransform.getQuadToQuad(
r.getMinX(), r.getMinY(), r.getMaxX(), r.getMinY(),
r.getMaxX(), r.getMaxY(), r.getMinX(), r.getMaxY(),
0, 0, w, 0, w, h, 0, h);
// TODO temporary until multiple screens are allowed
ButtonGroup bg = new ButtonGroup();
for (int i = 0; i < screens.length; i++) {
Rectangle b = screens[i].getDefaultConfiguration().getBounds();
final ScreenBox sb = new ScreenBox(screens[i], i, transformBounds(t, b), screens[i].equals(DEFAULT_SCREEN));
bg.add(sb);
screenBoxes.add(sb);
add(sb);
}
new Timer(true).schedule(new UpdateTask(), 0, REPAINT_FREQ);
}