本文整理汇总了Java中javafx.scene.canvas.GraphicsContext.translate方法的典型用法代码示例。如果您正苦于以下问题:Java GraphicsContext.translate方法的具体用法?Java GraphicsContext.translate怎么用?Java GraphicsContext.translate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javafx.scene.canvas.GraphicsContext
的用法示例。
在下文中一共展示了GraphicsContext.translate方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: draw
import javafx.scene.canvas.GraphicsContext; //导入方法依赖的package包/类
/**
* Draws the image representing the nucleotide on a graphics context, with specified rotation.
* @param GraphicsContext gc: The GraphicsContext you want to draw the object on
* @param x: The x coord you want to draw the image at
* @param y: The y coord you want to draw the image at
* @param r: The rotation, in degrees, you want to draw the nucleotide at. 0 would draw it with the base pointing up.
*/
public void draw(GraphicsContext gc, int x, int y, int r) {
gc.save();
gc.translate(x, y);
gc.rotate(r);
gc.translate(-x, -y);
gc.drawImage(image, x, y);
gc.restore();
}
示例2: render
import javafx.scene.canvas.GraphicsContext; //导入方法依赖的package包/类
public void render(Bullet bullet, GraphicsContext gc) {
gc.save();
gc.translate(bullet.getX(), bullet.getY());
gc.transform(new Affine(new Rotate(bullet.getAngle()))); //Rotate the gc to the angle of the bullet's path
//TODO increase bullet size in general
if (this == STANDARD) {
gc.translate(-2, -3); //Move SVG to center of Bullet
gc.setFill(Color.GRAY);
gc.beginPath();
gc.appendSVGPath("M 0 3 Q 0 1 2 0 Q 4 1 4 3 L 4 7 L 0 7 Z"); //SVG PATH OF BULLET
gc.fill();
gc.closePath();
} else if (this == ROCKET) {
//TODO create rocket SVG
gc.setFill(Color.GRAY);
gc.beginPath();
gc.appendSVGPath("M 0 3 Q 0 1 2 0 Q 4 1 4 3 L 4 7 L 0 7 Z"); //SVG PATH OF BULLET
gc.fill();
gc.closePath();
} else if (this == BOUNCY) {
gc.setFill(Color.GRAY);
gc.fillOval(bullet.getX() - bullet.getRadius(), bullet.getY() - bullet.getRadius(), bullet.getRadius() * 2, bullet.getRadius() * 2);
}
gc.restore();
}
示例3: draw
import javafx.scene.canvas.GraphicsContext; //导入方法依赖的package包/类
/**
* Draws both strands next to each other
* @param gc- graphics context to draw helix on
* @param x- left start of the drawing
* @param y- upper start of the drawing
*/
public void draw(GraphicsContext gc) {
gc.save();
gc.translate(x, y-imageSize);
gc.rotate(r);
gc.translate(-x, -(y-imageSize));
strands[0].draw(gc);
strands[1].draw(gc);
gc.restore();
}
示例4: drawCursor
import javafx.scene.canvas.GraphicsContext; //导入方法依赖的package包/类
public static void drawCursor(GraphicsContext g, ViewPort v, Vector2fc mouse)
{
Vector2dc offset = ViewPort.getScreenPos(v,
(int) Math.floor(mouse.x()),
(int) Math.floor(mouse.y()),
new Vector2d());
g.save();
g.translate(offset.x(), offset.y());
g.scale(v.getUnitScale(), v.getUnitScale());
g.setFill(COLOR_CURSOR);
g.fillRect(0, 0, 1, 1);
g.restore();
}
示例5: drawTile
import javafx.scene.canvas.GraphicsContext; //导入方法依赖的package包/类
public static void drawTile(GraphicsContext g, DungeonTileRenderer renderer, DungeonTile tile, double x, double y, double width, double height)
{
renderer.tile = tile;
g.save();
g.translate(x, y);
g.scale(width, height);
renderer.tile.draw(renderer, g);
g.restore();
}
示例6: draw
import javafx.scene.canvas.GraphicsContext; //导入方法依赖的package包/类
/**
* Draws all nucleotides in strand from left to right
* @param gc: GraphicsContext on which to draw strand
* Add type functionality
*/
public void draw(GraphicsContext gc) {
int x2 = x;
int y2 = y;
if(r!=0) {
gc.save();
gc.translate(x, y);
gc.rotate(r);
gc.translate(-x, -y);
}
if(type==1){
for(int i = 0; i < bases.size(); i++) {
if(bases.get(i) != null){
bases.get(i).draw(gc,x2,y);
if(i+1< bases.size()){
if(bases.get(i+1) != null && bonds.get(i)){
gc.strokeLine(x2+Nucleotide.getImageSize()*.81, y+Nucleotide.getImageSize()*.81, x2+Nucleotide.getImageSize()*1.10, y+Nucleotide.getImageSize()*.73);
}
}
}
x2+=Nucleotide.getImageSize();
}
}
else if(type == 0){
int lx = x2+Nucleotide.getImageSize()*2;
y2+=Nucleotide.getImageSize();
x2+=Nucleotide.getImageSize();
for(int i = 0; i < bases.size(); i++) {
if(bases.get(i) != null){
bases.get(i).draw(gc,x2,y2,180);
if(i+1< bases.size()){
if(bases.get(i+1) != null && bonds.get(i)){
//gc.strokeLine(x2,y2,x2+50,y2+50);
gc.strokeLine(lx-Nucleotide.getImageSize()*.81, y2-Nucleotide.getImageSize()*.81, lx-Nucleotide.getImageSize()*1.10, y2-Nucleotide.getImageSize()*.73);
}
}
}
x2+=Nucleotide.getImageSize();
lx+=Nucleotide.getImageSize();
}
}
else{
System.out.println("Type is not 0 or 1");
}
if(r!=0) {
gc.restore();
}
}
示例7: rotateCtx
import javafx.scene.canvas.GraphicsContext; //导入方法依赖的package包/类
public static final void rotateCtx(final GraphicsContext CTX, final double X, final double Y, final double ANGLE) {
CTX.translate(X, Y);
CTX.rotate(ANGLE);
CTX.translate(-X, -Y);
}