- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将一个 swing 组件打印到各种打印机上。其中一台打印机在 alpha channel 方面存在很大问题。如果屏幕上的任何内容都有 alpha channel ,则生成的线轴大小会很大。大多数情况下,我已经消除了 alpha channel 。但是,有一个元素使用 Graphics2d.fill(Shape)
用一些散列线填充形状,因此您可以看到散列背后的内容。有没有办法在打印期间不将 alpha 信息光栅化到 Graphics 对象的情况下实现此目的?
我相信如果通过调用 Graphics.drawLine()
而不是 fill(Shape)
来生成散列线,打印机会更快乐,但是我的形状'm 填充非常复杂(是折线图)。有没有办法用画线填充形状,这会让打印机更快乐?似乎所有 Paint 实现本质上都是基于光栅的。
除此之外,有没有办法告诉图像是完全透明还是完全不透明?这对打印机的线轴尺寸有帮助吗?
下面的代码用垂直散列线填充一个圆圈,允许水平散列线显示出来。
public class BufferedImagePrint extends JComponent implements Runnable, Printable {
public static void main(String[] args) {
SwingUtilities.invokeLater(new BufferedImagePrint());
}
public void run() {
setPreferredSize(new Dimension(128, 128));
final JOptionPane optionPane = new JOptionPane(this, JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION, null, new Object[]{
"Print",
"Cancel"});
final JDialog dialog = optionPane.createDialog("Painting Transparent Image");
dialog.setResizable(true);
dialog.setVisible(true);
if ("Print".equals(optionPane.getValue())) {
doPrint();
}
}
private void doPrint() {
try {
final PrinterJob printerJob = PrinterJob.getPrinterJob();
printerJob.setPrintable(this);
if(printerJob.printDialog()) {
printerJob.print();
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@Override
protected void paintComponent(final Graphics g) {
// draw horizontal lines
g.setColor(Color.BLACK);
for (int i=0; i<getWidth(); i+=3) {
g.drawLine(0, i, getWidth(), i);
}
final BufferedImage img = new BufferedImage(32, 32, BufferedImage.TYPE_INT_ARGB_PRE);
final Graphics2D textureGraphics = img.createGraphics();
textureGraphics.setColor(Color.BLACK);
for (int i=0; i<32; i+=4) {
textureGraphics.drawLine(i, 0, i, 32);
}
textureGraphics.dispose();
final TexturePaint paint = new TexturePaint(img, new Rectangle(32, 32));
((Graphics2D)g).setPaint(paint);
g.fillOval(0, 0, getWidth(), getHeight());
}
public int print(final Graphics graphics, final PageFormat pageFormat, final int pageIndex) throws PrinterException {
if (pageIndex == 0) {
paintComponent(graphics);
return PAGE_EXISTS;
} else {
return NO_SUCH_PAGE;
}
}
}
最佳答案
您可以将形状绘制到临时图像,然后将图像(而不是形状)绘制到打印机吗?
关于java - 没有光栅化的 Graphics.fill(Shape),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8992672/
您好,我很确定我的问题很愚蠢,但我无法弄清楚它对我的生活有何影响。我有这个家庭作业,它基本上是为了加强我们在类里面学到的关于多态性的知识(顺便说一下,这是 C++)。该程序的基础是一个名为 shape
我是新手,所以需要任何帮助,当我要求一个例子时,我的教授给我了这段代码,我希望有一个工作模型...... from numpy import loadtxt import numpy as np fr
CSS 形状边距 和 外型不适用于我的系统。我正在使用最新版本的 Chrome。我唯一能想到的是我的操作系统是 Windows 7。这应该是一个问题吗? 这是JSFiddle .但是,由于在您的系统上
#tf.shape(tensor)和tensor.shape()的区别 ?
我要求提示以下问题。如何从事件表添加到指定的单元格形状?当我知道名称但不知道如何为...中的每个形状实现论坛时,我可以添加形状 目前我有这样的事情: Sub loop() Dim a As Integ
我在 Excel 中有一个流程设计(使用形状、连接器等)。 我需要的是有一个矩阵,每个形状都有所有的前辈和所有的后继者。 在 VBA 中,为此我正在尝试执行以下操作: - 我列出了所有的连接器(Sha
我正在使用 JavaFX 编写一个教育应用程序,用户可以在其中绘制和操作贝塞尔曲线 Line、QuadCurve 和 CubicCurve。这些曲线应该能够用鼠标拖动。我有两种选择: 1- 使用类 L
我正在尝试绘制 pandas 系列中列的直方图 ('df_plot')。因为我希望 y 轴是百分比(而不是计数),所以我使用权重选项来实现这一点。正如您在下面的堆栈跟踪中发现的那样,权重数组和数据系列
我尝试在 opencv dnn 中实现一个 tensorflow 模型。这是我遇到的错误: OpenCV: Can't create layer "flatten_1/Shape" of type "
我目前正在用 Java 开发一款游戏,我一直在尝试弄清楚如何在 Canvas 上绘制一个形状(例如圆形),在不同的形状(例如正方形)之上,但是只绘制与正方形相交的圆的部分,类似于 Photoshop
import cv2 import numpy as np import sys import time import os cap = cv2.VideoCa
我已经成功创建了 Keras 序列模型并对其进行了一段时间的训练。现在我试图做出一些预测,但即使使用与训练阶段相同的数据,它也会失败。 我收到此错误:{ValueError}检查输入时出错:预期 em
我正在尝试逐行分解程序。 Y 是一个数据矩阵,但我找不到任何关于 .shape[0] 究竟做了什么的具体数据。 for i in range(Y.shape[0]): if Y[i] == -
我正在尝试运行代码,但它给了我这个错误: 行,列,_ = frame.shape AttributeError:“tuple”对象没有属性“shape” 我正在使用OpenCV和python 3.6,
我想在 JavaFx 中的 Pane 上显示形状。我正在使用从空间数据库中选择的 Oracle JGeometry 对象,它有一个方法 createShape() 但它返回 java.awt.Shap
在此代码中: import pandas as pd myj='{"columns":["tablename","alias_tablename","real_tablename","
我正在尝试将 API 结果应用于两列。 下面是我的虚拟数据框。不幸的是,这不是很容易重现,因为我使用的是带有 key 和密码的 API...这只是为了让您了解尺寸。 但我希望也许有人能发现一个明显的问
我的代码是: final String json = getObjectMapper().writeValueAsString(JsonView.with(graph) .onClas
a=np.arange(240).reshape(3,4,20) b=np.arange(12).reshape(3,4) c=np.zeros((3,4),dtype=int) x=np.arang
我正在尝试从张量中提取某些数据,但出现了奇怪的错误。在这里,我将尝试生成错误: a=np.random.randn(5, 10, 5, 5) a[:, [1, 6], np.triu_indices(
我是一名优秀的程序员,十分优秀!