这是我的情况.它涉及对齐扫描图像,这将导致不正确的扫描.我必须将扫描的图像与我的Java程序对齐.
这些是更多细节:
你看,扫描图像的人可能不一定将图像放在一个完全正确的位置,所以我需要我的程序在加载时自动对齐扫描图像.这个程序可以在许多这样的扫描图像上重复使用,所以我需要这个程序灵活.
我的问题是以下之一:
如何使用Java检测表格上边缘的y坐标和表格最左边缘的x坐标.桌子是一张普通的桌子,有许多单元格,黑色薄边框,印在白纸上(水平打印输出)
如果存在一种更简单的方法来自动对齐扫描图像,使得所有扫描图像都将图形表对齐到相同的x,y坐标,则共享此方法:).
如果您不知道上述问题的答案,请告诉我应该从哪里开始.我不太了解图形java编程,我有大约1个月的时间来完成这个程序.假设我有一个紧张的时间表,我必须让我的图形部分尽可能简单.
干杯谢谢你.
我希望我的C++程序在Windows中执行另一个.exe.我该怎么做?我正在使用Visual C++ 2010.
这是我的代码
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
unsigned int input;
cout << "Enter 1 to execute program." << endl;
cin >> input;
if(input == 1) /*execute program here*/;
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我正在使用ImageIO.read().由原始App的main方法调用的类是:
import java.awt.*;
import javax.swing.*;
import java.io.File;
import java.awt.image.BufferedImage;
import java.awt.event.*;
import javax.swing.JPanel;
class ImageGenerator extends JPanel{
JpegReader jpeg;
public ImageGenerator(Aplicacion a){
jpeg = new JpegReader();
loadImage();
}
private void loadImage(){
String path = "C:\\image.jpg";
image = new BufferedImage(100,100, BufferedImage.TYPE_INT_RGB); //in case error
try{
image = jpeg.readImage(new File(path));
}catch(Exception e){
System.err.println(e.getMessage());
}
}
public void paint(Graphics g){
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BICUBIC);
g2.drawImage(image, 0, 0, 1000, 800, null);
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用上面的这个其他类JpegReader,我实际上在StackOverflow上找到了答案,但我忘了引用他的作者的名字.
import java.awt.image.BufferedImage;
import javax.imageio.*;
import javax.imageio.stream.ImageInputStream;
import …Run Code Online (Sandbox Code Playgroud) 我正在尝试将一个组件放置在窗口的一角。但是,我的窗口有一个滚动条,并且滚动条放置在组件的顶部。
因此,我尝试更改组件的位置,使其与滚动条相邻,而不是位于滚动条下方。
因此,我需要滚动条的标准宽度(垂直)和滚动条的标准高度(水平)。
我可以在运行时尝试 getVerticalScrollBar.getWidth() ,但不幸的是我需要在创建滚动条本身之前放置坐标。
另外,创建一个空的 JScrollBar 并调用 getWidth() 将返回 0。
感谢您的帮助。
我创建了Win32项目的解决方案.
然后我点击File-> New-> Project并创建了一个新的Win32项目,但是将项目添加到当前解决方案中,这样我就可以在解决方案资源管理器中看到这两个项目.(因为据我所知,Visual Studio一次只能显示一个解决方案).
现在我正在尝试为解决方案创建第三个项目,但是当我转到File-> New-> Project时,此选项显示为灰色.
这里发生了什么?我该如何解决?我想要的是能够在解决方案资源管理器中拥有许多项目,并且我尝试通过将项目添加到当前解决方案来实现.
我有一个可执行的jar文件.java代码包含很多System.out.println语句.有时,这些打印语句包含密码和类似的东西.
我编译成一个可执行jar.没有显示控制台.我正在考虑为安全目的删除所有System.out.println语句,但由于没有控制台可能没有必要吗?
我的问题是可以攻击System.out.println().换句话说,使用jar文件的人可以获得System.out.println打印出来的内容
我有一个 JLayeredPane。我的程序是这样工作的:
JPanel p1 = new JPanel(new BoxLayout(p1, BoxLayout.X_AXIS));
JPanel p2 = new JPanel(new BoxLayout(p2, BoxLayout.Y_AXIS));
JLayeredPane lp = new JLayeredPane();
lp.add(p1, 1);
lp.add(p2, 0);
Run Code Online (Sandbox Code Playgroud)
p1 和 p2 都有按钮等组件...
问题是,当我将两个 JPanel 添加到 JLayeredPane 时,什么也没有出现。
我尝试更改 JLayeredPane() 的布局。
例如,我做了:
lp.setLayout(new BoxLayout(lp, BoxLayout.X_AXIS));
Run Code Online (Sandbox Code Playgroud)
然后,JPanels 确实显示,但它们显示为相邻,不尊重 JLayeredPane 的层。
我是否被迫使用空布局?
如何让我的 JLayeredPane 尊重图层并正确显示我的两个 BoxLayout JPanel?
当我给我的 JLayeredPane 一个布局时,它会显示面板,但它根本不尊重图层。