本文整理汇总了Java中javafx.scene.canvas.GraphicsContext类的典型用法代码示例。如果您正苦于以下问题:Java GraphicsContext类的具体用法?Java GraphicsContext怎么用?Java GraphicsContext使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
GraphicsContext类属于javafx.scene.canvas包,在下文中一共展示了GraphicsContext类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: render
import javafx.scene.canvas.GraphicsContext; //导入依赖的package包/类
public void render(GraphicsContext gc)
{
currentFrame++;
if(currentFrame/frameRepeat >= frameCount)
{
currentFrame = 0;
}
gc.drawImage
(
source,
(int)(currentFrame/frameRepeat)*sourceWidth,
0,
sourceWidth,
sourceHeight,
x - (width/2),
y - (height/2),
width,
height
);
}
示例2: drawRoundedRect
import javafx.scene.canvas.GraphicsContext; //导入依赖的package包/类
public static final void drawRoundedRect(final GraphicsContext CTX, final CtxBounds BOUNDS, final CtxCornerRadii RADII) {
double x = BOUNDS.getX();
double y = BOUNDS.getY();
double width = BOUNDS.getWidth();
double height = BOUNDS.getHeight();
double xPlusWidth = x + width;
double yPlusHeight = y + height;
CTX.beginPath();
CTX.moveTo(x + RADII.getTopLeft(), y);
CTX.lineTo(xPlusWidth - RADII.getTopRight(), y);
CTX.quadraticCurveTo(xPlusWidth, y, xPlusWidth, y + RADII.getTopRight());
CTX.lineTo(xPlusWidth, yPlusHeight - RADII.getBottomRight());
CTX.quadraticCurveTo(xPlusWidth, yPlusHeight, xPlusWidth - RADII.getBottomRight(), yPlusHeight);
CTX.lineTo(x + RADII.getBottomLeft(), yPlusHeight);
CTX.quadraticCurveTo(x, yPlusHeight, x, yPlusHeight - RADII.getBottomLeft());
CTX.lineTo(x, y + RADII.getTopLeft());
CTX.quadraticCurveTo(x, y, x + RADII.getTopLeft(), y);
CTX.closePath();
}
示例3: drawTimeBox
import javafx.scene.canvas.GraphicsContext; //导入依赖的package包/类
/**
* Draw little time box to indicate exactly the date time when
* showMouseHoverIndicator is on
*/
public void drawTimeBox() {
if (showMouseHoverIndicator.getValue()){
double x = mouseX.getValue();
double w = 45;
x = x - w;
double wd = 2 * w;
double hi = 20;
Calendar curDate = getDayByXPos(mouseX.getValue());
if (curDate != null) {
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
String strDateLabel = sf.format(curDate.getTime());
GraphicsContext gc = getGraphicsContext2D();
gc.setFill(Color.web("#010a23"));
gc.fillRect(x, 0, wd, hi);
gc.setFill(Color.web("#4bf221"));
gc.fillText(strDateLabel, x+14, 14);
}
}
}
示例4: paintStone
import javafx.scene.canvas.GraphicsContext; //导入依赖的package包/类
/**
* Paint a black/white stone onto a graphics context with a grid
* @param gc Graphics context
* @param startX Start (top left) x coordinate of the grid
* @param startY Start (top left) y coordinate of the grid
* @param cellSize Size of the grid cells
* @param row Row position of the stone
* @param col Column position of the stone
* @param index Index of the stone (1 = black, 2 = white)
* @param transparent Transparency value, 0.5 alpha if true
*/
private static void paintStone(GraphicsContext gc, double startX, double
startY, double cellSize, int row, int col, int index,
boolean transparent) {
double x = startX + col*cellSize;
double y = startY + row*cellSize;
double offset = (cellSize * 0.7) / 2;
gc.save();
if(transparent) {
gc.setGlobalAlpha(0.5);
}
switch(index) {
case 1:
gc.setFill(blackGradient);
gc.fillOval(x - offset, y - offset, cellSize * 0.7,
cellSize * 0.7);
break;
case 2:
gc.setFill(whiteGradient);
gc.fillOval(x - offset, y - offset, cellSize * 0.7,
cellSize * 0.7);
break;
}
gc.restore();
}
示例5: drawYValueBox
import javafx.scene.canvas.GraphicsContext; //导入依赖的package包/类
@Override
public void drawYValueBox() {
if (showMouseHoverIndicator.getValue()){
double y = mouseY.getValue();
y = y - 10;
double x = 0;
double wd = 150;
double ht = 18;
if (mouseY == null) {
return;
}
int yIntPos = (int)Math.round(mouseY.getValue());
Float yValue = this.getValueByYPos(yIntPos);
if ( yValue != null && yValue != 0){
String strVolume = String.format("%.2f", yValue);
GraphicsContext gc = getGraphicsContext2D();
gc.setFill(Color.web("#010a23"));
gc.fillRect(x, y, wd, ht);
gc.setFill(Color.web("#4bf221"));
gc.fillText(strVolume, x + 13, y+13);
}
}
}
示例6: TrainView
import javafx.scene.canvas.GraphicsContext; //导入依赖的package包/类
/**
* Instantiates a new Train view.
*
* @param graphicsContext the graphics context
*/
public TrainView(GraphicsContext graphicsContext) {
this.graphicsContext = graphicsContext;
try {
trainCarts = new HashMap<>();
for (String color: model.util.Color.getValidColors()) {
try (FileInputStream fi = new FileInputStream("sprites/cart_" + color + ".png")) {
trainCarts.put(color, new Image(fi));
}
}
trainParts = new HashMap<>();
for (String type: trainPartTypes) {
try (FileInputStream fi = new FileInputStream("sprites/" + type + ".png")) {
trainParts.put(type, new Image(fi));
}
}
} catch (IOException e) {
System.err.println("TrainView.TrainView(): File error: " + e.getMessage());
}
}
示例7: NodeTooltip
import javafx.scene.canvas.GraphicsContext; //导入依赖的package包/类
/**
* Constructs {@link NodeTooltip}.
*
* @param graphicsContext the context
* @param node the node
* @param middleX the middle x position of the node
* @param belowY the below y position of the node
*/
public NodeTooltip(final GraphVisualizer graphVisualizer, final GraphicsContext graphicsContext,
final GfaNode node, final double middleX, final double belowY) {
int tempHeight = DEFAULT_HEIGHT;
this.graphVisualizer = graphVisualizer;
this.graphicsContext = graphicsContext;
this.node = node;
this.middleX = middleX;
this.belowY = belowY;
if (node.hasMetadata()) {
tempHeight += Math.min(node.getMetadata().getGenomes().size(), MAX_GENOME_COUNT + 1) * LINE_HEIGHT + 10;
}
if (node.getSegments().get(0).getSequenceLength() > MAX_SEQUENCE_LENGTH) {
tempHeight += LINE_HEIGHT * 1.5;
}
this.height = tempHeight;
}
示例8: drawFireworks
import javafx.scene.canvas.GraphicsContext; //导入依赖的package包/类
private void drawFireworks(GraphicsContext gc) {
Iterator<Particle> iter = particles.iterator();
List<Particle> newParticles = new ArrayList<Particle>();
while(iter.hasNext()) {
Particle firework = iter.next();
// if the update returns true then particle has expired
if(firework.update()) {
// remove particle from those drawn
iter.remove();
// check if it should be exploded
if(firework.shouldExplodeChildren) {
if(firework.size == 9) {
explodeCircle(firework, newParticles);
} else if(firework.size == 8) {
explodeSmallCircle(firework, newParticles);
}
}
}
firework.draw(gc);
}
particles.addAll(newParticles);
}
示例9: draw
import javafx.scene.canvas.GraphicsContext; //导入依赖的package包/类
public void draw(GraphicsContext context) {
final double x = Math.round(posX);
final double y = Math.round(posY);
final double xVel = (x - lastPosX) * -5;
final double yVel = (y - lastPosY) * -5;
// set the opacity for all drawing of this particle
context.setGlobalAlpha(Math.random() * this.alpha);
// draw particle
context.setFill(color);
context.fillOval(x-size, y-size, size+size, size+size);
// draw the arrow triangle from where we were to where we are now
if (hasTail) {
context.setFill(Color.rgb(255,255,255,0.3));
context.fillPolygon(new double[]{posX + 1.5,posX + xVel,posX - 1.5},
new double[]{posY,posY + yVel,posY}, 3);
}
}
示例10: NodeView
import javafx.scene.canvas.GraphicsContext; //导入依赖的package包/类
public NodeView(GraphicsContext graphicsContext) {
this.graphicsContext = graphicsContext;
graphicsContext.setLineWidth(12);
try {
spriteNodes = new HashMap<>();
for (String type: nodeTypes) {
try (FileInputStream fi = new FileInputStream("sprites/" + type + ".png")) {
spriteNodes.put(type, new Image(fi));
}
}
spriteStations=new HashMap<>();
spriteLoaderStations=new HashMap<>();
for (String color: model.util.Color.getValidColors()) {
try (FileInputStream fi = new FileInputStream("sprites/station_" + color + ".png")) {
spriteStations.put(color, new Image(fi));
}
try (FileInputStream fi = new FileInputStream("sprites/loader_" + color + ".png")) {
spriteLoaderStations.put(color, new Image(fi));
}
}
} catch (IOException e) {
System.err.println("NodeView.NodeView: File error: " + e.getMessage());
}
}
示例11: initialize
import javafx.scene.canvas.GraphicsContext; //导入依赖的package包/类
@Override
public void initialize(URL location, ResourceBundle resources) {
LOG.info("Loading map data.");
worldMapCanvas.setOnDragDetected(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
LOG.info("Drag detected.");
}
});
worldMapCanvas.setOnMouseClicked(event -> {
LOG.info("Click detected.");
});
// Testing
final GraphicsContext gc = worldMapCanvas.getGraphicsContext2D();
gc.setFill(Color.AZURE);
gc.fillRect(0, 0, worldMapCanvas.getWidth(), worldMapCanvas.getHeight());
gc.setFill(Color.GREEN);
gc.strokeLine(40, 10, 10, 40);
}
示例12: rotateContextForText
import javafx.scene.canvas.GraphicsContext; //导入依赖的package包/类
private void rotateContextForText(final GraphicsContext CTX, final double START_ANGLE, final double TEXT_ANGLE, final TickLabelOrientation ORIENTATION) {
switch (ORIENTATION) {
case ORTHOGONAL:
if ((360 - START_ANGLE - TEXT_ANGLE) % 360 > 90 && (360 - START_ANGLE - TEXT_ANGLE) % 360 < 270) {
CTX.rotate((180 - START_ANGLE - TEXT_ANGLE) % 360);
} else {
CTX.rotate((360 - START_ANGLE - TEXT_ANGLE) % 360);
}
break;
case TANGENT:
if ((360 - START_ANGLE - TEXT_ANGLE - 90) % 360 > 90 && (360 - START_ANGLE - TEXT_ANGLE - 90) % 360 < 270) {
CTX.rotate((90 - START_ANGLE - TEXT_ANGLE) % 360);
} else {
CTX.rotate((270 - START_ANGLE - TEXT_ANGLE) % 360);
}
break;
case HORIZONTAL:
default:
break;
}
}
示例13: render
import javafx.scene.canvas.GraphicsContext; //导入依赖的package包/类
public void render(int indexX, int indexY, GraphicsContext gc) {
if (this == STANDARD) {
gc.setFill(Color.valueOf("#debf89"));
gc.fillRoundRect(indexX * 64, indexY * 64, 64, 64, 10, 10);
}
if (this == CORK) {
gc.setFill(Color.valueOf("#debf89").brighter().brighter());
gc.fillRoundRect(indexX * 64, indexY * 64, 64, 64, 10, 10);
}
if (this == HOLE) {
gc.setFill(Color.GRAY.brighter());
gc.fillOval(indexX * 64, indexY * 64, 64, 64);
}
}
示例14: drawConner
import javafx.scene.canvas.GraphicsContext; //导入依赖的package包/类
/**
* 设置图形节点为选中样式
*/
@Override
public void drawConner() {
canvas.setMouseTransparent(true);
isConnerShow = true;
GraphicsContext gc = canvas.getGraphicsContext2D();
double whiteR = 12;
double blueR = 10;
if (x1 != null) {
double X = x.doubleValue();
double Y = y.doubleValue();
gc.setFill(Color.WHITE);
gc.fillOval(x1.doubleValue() -6+ X, y1.doubleValue() -6+ Y, whiteR, whiteR);
gc.fillOval(x2.doubleValue() - 6+ X, y2.doubleValue() - 6 + Y, whiteR, whiteR);
gc.setFill(Color.color(0.03, 0.43, 0.81));
gc.fillOval(x1.doubleValue() -5 + X, y1.doubleValue() -5 + Y, blueR, blueR);
gc.fillOval(x2.doubleValue()-5+ X, y2.doubleValue() - 5 + Y, blueR, blueR);
}
}
示例15: drawGrid
import javafx.scene.canvas.GraphicsContext; //导入依赖的package包/类
public void drawGrid() {
GraphicsContext gc = drawingCanvas.getGraphicsContext2D();
// Task: draw a grid paper with horizontal lines 20 pixels apart
// and the vertical lines 20 pixels apart, as well
double width = drawingCanvas.getWidth();
double height = drawingCanvas.getHeight();
gc.setStroke(Color.RED);
for (int x = 0; x <= width; x += 20)
gc.strokeLine(x, 0, x, height);
for (int y = 0; y <= height; y += 20)
gc.strokeLine(0, y, width, y);
gc.setStroke(Color.BLUE);
for (int x = 0; x <= width; x += 100)
gc.strokeLine(x, 0, x, height);
for (int y = 0; y <= height; y += 100)
gc.strokeLine(0, y, width, y);
}