急!!!Java 如何知点在坐标上画出图像且保存为图片文件

急!!!Java 如何知点在坐标上画出图像且保存为图片文件,第1张

画函数图像的话,可以重写面板的paint(Graphic g)方法,用参数gdrawLine(int x, int y, int x2, int y2)
保存成的话,采用Root类截屏方法(具体既不清了),然后把所接写到文件

1、代码如下:

public class Main

{

public static void main(String[] args) {

Systemoutprintln("Hello World!");

//主循环

      for(int i =10;i>0;i--){

          //输出空格

          for(int k=i;k>0;k--){Systemoutprint(" ");}

//输出数字

          for(int j=i;j<=10;j++){

              Systemoutprint(j+" ");             

          }Systemoutprintln(" ");

      }

}

}

2、效果如图

光的反射的话,你用的是直线,一个笔记本的屏幕1368800,那你说你用int型,那他的误差可以忽略不计。要是用度数的话可以用一下吧方法。比如说入射角等于60度,
gdrawLine(0,0,20 Mathsin(MathPI 1 / 3),20Mathcos(MathPI 1 / 3))
你这样写绝对不会出错,你还要乘倍数,那么它的误差更小了。

你是说 JPanel 吗?两种方法:
添加 JLabel,给 JLabel 添加 ImageIcon,然后放置 JLabel 到 JPanel 上就行了:
JPanel pnl = new JPanel();

JLabel lblImage = new JLabel(new ImageIcon("你的文件名")); //创建一个带的 JLabel
lblImagesetBounds(0, 0, pnlgetWidth(), pnlgetHeight()); //设置 的横坐标、纵坐标、宽、高
pnladd(lblImage); //放置这个 JLabel 到你的 JPanel 上面
还有一种方法是重写 JPanel 的 paint() 方法:
class YourPanel extends JPanel {
private Image img = ToolkitgetDefaultToolkit()createImage("你的文件名"); //用 Toolkit 的 createImage 方法来创建一个 Image 对象
@Override public void paint (Graphics g) {
superpaint(g);
gdrawImage(img, 0, 0, getWidth(), getHeight()); //绘制,第一个参数是 Image 对象,第二个参数是 横坐标,第三个是 纵坐标,第四个是 宽,第五个是 高
}
}
以上你隐式重写也可以:
JPanel pnl = new JPanel() {
@Override public void paint (Graphics g) {
//但是要注意这样如果你把 Image 声明成了局部变量或者参数形式,你需要声明成 final
}
}

书写完毕,采纳即可。
import javaioByteArrayOutputStream;
import javaioFile;
import javaioFileInputStream;
import javaioFileOutputStream;
import javaioFilenameFilter;
import javaioInputStream;
public class YuGiOh
{
public static final String SEPARATOR = SystemgetProperty ("fileseparator");
public static final String LINE = SystemgetProperty ("lineseparator");
/
  转换之后保存的路径
 /
private static final String SAVE = "convertSuffix";
/
  递归读取文件夹中的特定后缀的文件
  
  @param path
             String 读取的文件夹路径
  @param suffix
             String 后缀名,|分隔
  @param newSuffix
             String 新的后缀名
 /
public static void convertSuffix ( String path, final String suffix, final String newSuffix )
{
File p = new File (path);
String name = pgetName (), regex = "(i)([^\\])\\(" + suffix + ")";
if (pisDirectory ())
{
plist (new FilenameFilter ()
{
@Override
public boolean accept ( File dir, String name )
{
if (dirisDirectory ())
{
convertSuffix (dirgetAbsolutePath () + SEPARATOR + name, suffix, newSuffix);
}
return false;
}
});
}
else if (namematches (regex))
{
saveFiles (path, name, newSuffix);
}
}
/
  读取到特定的后缀,修改后缀,保存文件
  
  @param path
             String 读取的文件夹路径
  @param name
             String 特定的后缀的文件名
  @param newSuffix
             String 新的后缀名
 /
public static void saveFiles ( String path, String name, String newSuffix )
{
try
{
File fp = new File (SAVE);
if (!fpexists ())
{
fpmkdir ();
}
name = namereplaceAll ("([^\\]+)(\\)", "$1" + newSuffix);
InputStream is = new FileInputStream (path);
ByteArrayOutputStream baos = new ByteArrayOutputStream ();
byte[] buffer = new byte[1024];
int len = -1;
while (( len = isread (buffer) ) != -1)
{
baoswrite (buffer, 0, len);
}
baosflush ();
baosclose ();
isclose ();
byte[] data = baostoByteArray ();
FileOutputStream fos = new FileOutputStream (new File (SAVE + SEPARATOR + name));
foswrite (data);
fosflush ();
fosclose ();
}
catch (Exception e)
{
eprintStackTrace ();
}
}
public static void main ( String[] args )
{
convertSuffix ("F:\\Photo\\pic", "png|jpg", "gif");
}
}

我看了下API, 不知道下面的方法是否可行,你可以试一下
swing包里有个类ImageIcon
ImageIcon(String filename),指定文件生成一个ImageIcon im;
然后调用imgetImage()返回一个Image对象 image,再调用image对象的getGraphics()返回一个Graphics对象,使用Graphics绘画
绘画中途不知道界面会不会把image重绘,如果看不到结果的话,用image对象构造ImageIcon,然后用ImageIcon构造一个JLabel添加到界面上显示

1打开保存有的word文档。
2
在文件菜单中选择另存为。
3将文件另存为htm或html格式的网页。
4打开保存文件夹,可以看到保存网页的位置会有一个files的文件夹。
5打开这个文件夹,可以看到,word文档中的都被以png格式保存到这个文件夹里,文件名的前缀是image,并且按顺序进行了命名。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13365488.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-22
下一篇 2023-07-22

发表评论

登录后才能评论

评论列表(0条)

保存