Tag: 缩放

Android – 扩展我的UI以适应所有屏幕尺寸?

到目前为止,我已经尝试了许多将图像缩放到屏幕尺寸的方法,但它们似乎都不适用于我。 我还是java新手,并且拥有适合任何屏幕大小的UI的想法对我来说似乎很陌生。 我正在使用Canvas类绘制位图。 我尝试过创建一个scaledBitmap并且没有看到任何区别。 我想要这样一个简单的主菜单屏幕 这一定是一个非常常见的问题,因为所有应用都需要这样做。 我真的可以使用一些帮助来理解它是如何工作的。 在某些手机上看起来不错,但在其他手机上,图像太大或偏离中心。 我的代码如下。 如果有人可以帮助我在这里,这是一个学期项目即将到期:P谢谢你们! public MainMenu(Context context) { super(context); titleBounds = new RectF(); playBounds = new RectF(); scoreBounds = new RectF(); soundBounds = new RectF(); creditBounds = new RectF(); titlePaint = new Paint(); playPaint = new Paint(); play = BitmapFactory.decodeResource(getResources(), R.drawable.play); playGlow = BitmapFactory.decodeResource(getResources(), R.drawable.playglow); sound = BitmapFactory.decodeResource(getResources(), R.drawable.sound); […]

双线性插值

我得到了这个通过双线性插值来缩放图像的代码。我知道这有效但我无法弄清楚如果近似像素值是边缘(通过边缘,我的意思是它在最后一行或最后一列)像素输入图像然后我可以我gt坐标(x + 1,y + 1)的像素,这应该导致数组索引超出范围错误但没有出现这样的错误为什么? 代码是: public int[] resizeBilinearGray(int[] pixels, int w, int h, int w2, int h2) { int[] temp = new int[w2*h2] ; int A, B, C, D, x, y, index, gray ; float x_ratio = ((float)(w-1))/w2 ; float y_ratio = ((float)(h-1))/h2 ; float x_diff, y_diff, ya, yb ; int offset = 0 […]

缩放数组(矩阵)

这个程序的目的是创建一个比原始数组放大10倍的更大字节数组。 例如,[0] [0]中的1应该是新数组中1x的10×10平方。 我提供了代码和输出,它似乎在较大数组的填充期间正常工作,但随后打印不同的值。 我目前正在试验这些行,以便限制我在测试期间处理的变量数量。 任何人都可以想到这种情况发生的原因吗? public class Test { static byte[][] byteArray = {{1, 0}, {0, 1}}; public static void main(String[] args) { byte newarray[][] = converter(); for(int i = 0; i < 20; i++) { System.out.println(newarray[i][0]); } } private static byte[][] converter() { byte[][] b = new byte[20][20]; for(int r = 0; r […]

高分辨率(MS Surface)上的错误Swing UI缩放

我目前正在开发一个涉及Swing GUI的小型Java应用程序。 在我的开发PC上,一切看起来都不错,但是当我在MS Surface上运行它时,某些图标对于组件来说似乎太大了(或者组件对于图标而言太小)。 这就是我的意思: 谷歌的研究让我得出结论,这是由于Surface的高分辨率和Win8的缩放,让一些项目显得更大。 所以我将缩放重置为100%,它实际上修复了不良缩放。 不幸的是,这并没有真正解决我的问题。 没有变焦,一切都太小了,所以我宁愿不禁用它。 但有没有聪明的方法来解决这个问题? 我可以只“缩放”我的程序或Java的图标吗? 理想情况下,我甚至想要升级整个画面,因为一切都很小。 编辑:显然,我也试过调整实际的JFrame大小,但它对对话框大小没有影响。 我正在通过调用对话框 JOptionPane.showMessageDialog(frame, msg, “Information”, JOptionPane.INFORMATION_MESSAGE); 顺便说说。

单击JfreeChart折线图上的按钮放大和缩小function?

基本上我想要放大折线图并缩小(总共4个按钮,2个用于X轴(放大和缩小),其他两个用于Y轴)沿着任意轴单击按钮,就像绘制的图形一样在负x轴和负Y轴区域,根据数据点然后在按钮上单击图形应该放大并根据按钮单击沿着负x轴或负Y轴缩小。 我怎样才能实现这一点?任何带有详细解释的示例代码都非常有用!! private JButton createZoom() { final JButton auto = new JButton(“ZOOMIN”); auto.setActionCommand(“ZOOM_IN_DOMAIN”); auto.addActionListener(new ChartPanel(chart)); return auto; }

用Java放大和缩小图像

我认为这个问题非常自我解释,我想使用JSlider实现一个简单的缩放function,例如在Windows Live Photo Gallery中。 我已经在网上快速浏览了一下,但我尝试使用的所有代码在将其复制到eclipse时似乎都有错误。 我真的不想使用第三方库,因为该应用程序可能以公司名称出售。 另外,我开始意识到为了防止错误可能需要一些安全预防措施,但我不知道它们会是什么。 因此,如果有人可以提供一些Java代码来放大和缩小图像,那么我们将非常感激。 提前致谢 PS我计划将Image用作JLabel的ImageIcon ,它将被添加到JScrollPane

LibGDX:过滤缩放的TextureRegion

我有几个具有不同纹理的对象用于不同的状态,因此我使用TexturePacker制作的TextureAtlas ,并在需要它的地方调整TextureRegion大小。 我必须resize,因为我不仅要支持720p和1080p,而且我的一些对象是基于棋盘宽度和高度resize的平铺或光标,因为这可以在我的游戏中改变,而棋盘将始终占据屏幕的相同百分比。 使用Texture ,我可以这样做: texture.setFilter(TextureFilter.Linear, TextureFilter.Linear); 但是,当我使用TextureRegion ,没有选项来设置filter。 这导致这些TextureRegion的大小调整为锐利,块状和锯齿状。 这不是很好的缩放,它似乎根本没有反别名。 这非常令人沮丧,因为我制作图形时已经够糟糕了,现在即使我喜欢我制作它看起来很糟糕的东西。 如何使用TextureRegion而不是Texture来复制TextureFilter.Linear的效果?

放大Java Swing应用程序

我正在寻找放大Java Swing应用程序的方法。 这意味着我想通过给定的因子调整给定JPanel中的所有组件的大小,就好像我将截取UI并仅应用“图像缩放”操作一样。 必须调整字体大小以及复选框,文本框,光标等的大小。 可以通过将变换应用于图形对象来缩放组件: protected Graphics getComponentGraphics(Graphics g) { Graphics2D g2d=(Graphics2D)g; g2d.scale(2, 2); return super.getComponentGraphics(g2d); } 只要您不关心自我更新组件,这就有效。 如果您的应用程序中有一个文本框,则此方法将停止工作,因为文本框每秒更新一次以显示(闪烁)光标。 并且由于此时它不使用修改的图形对象,因此组件出现在旧位置。 是否有可能永久更改组件图形对象? 鼠标单击事件处理程序也存在问题。 另一种可能性是将JPanel的所有子组件(setPreferredSize)调整为新大小。 这对复选框不起作用,因为复选框的显示图片不会改变其大小。 我还想过编写自己的布局管理器,但我认为这不会起作用,因为布局管理器只改变了对象的位置(和大小),但是无法放大复选框(参见上一段)。 或者我错了这个假设? 您是否有任何想法如何在不编程自定义组件的情况下实现可缩放的Swing GUI? 我寻找可旋转的用户界面,因为问题似乎很熟悉,但我也没有找到任何令人满意的解决方案来解决这个问题。 谢谢你的帮助,克里斯

如何在JScrollPane中实现位置敏感的缩放?

我正在尝试在JScrollPane实现位置敏感的缩放。 JScrollPane包含一个带有自定义paint的组件,它将自己绘制在分配的任何空间内 – 因此缩放就像使用MouseWheelListener一样容易,可以根据需要调整内部组件的大小。 但我也希望放大(或退出)一个点,以便在生成的放大(或 – )视图中将该点保持为中心(这就是我所说的’位置敏感’缩放),类似如何在谷歌地图中缩放工作。 我确信之前已经做过很多次了 – 有没有人知道在Java Swing下做“权利”的方式? 使用Graphic2D的转换而不是使用JScrollPanes会更好吗? 示例代码如下: package test; import java.awt.*; import java.awt.event.*; import java.awt.geom.*; import javax.swing.*; public class FPanel extends javax.swing.JPanel { private Dimension preferredSize = new Dimension(400, 400); private Rectangle2D[] rects = new Rectangle2D[50]; public static void main(String[] args) { JFrame jf = new JFrame(“test”); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.setSize(400, […]