java照片查看器源代码
国开《JAVA设计程序语言》形考任务三:源代码与输出截图

国开《JAVA设计程序语言》形考任务三:源代码与输出截图任务要求本次形考任务要求完成以下两个任务:1. 编写一个Java程序,实现一个简单的计算器功能,能够实现基本的加减乘除运算。
2. 使用截图工具截取程序运行结果的输出,并保存为图片文件。
代码示例import java.util.Scanner;public class Calculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入第一个数字: ");double num1 = scanner.nextDouble();System.out.print("请输入运算符(+, -, *, /): ");char operator = scanner.next().charAt(0);System.out.print("请输入第二个数字: "); double num2 = scanner.nextDouble();double result = 0;switch (operator) {case '+':result = num1 + num2;break;case '-':result = num1 - num2;break;case '*':result = num1 * num2;break;case '/':result = num1 / num2;break;default:System.out.println("无效的运算符");return;}System.out.println("计算结果: " + result);}}输出截图以上是完成任务三的源代码和输出截图。
Java获取图片的大小、宽、高

Java获取图⽚的⼤⼩、宽、⾼ 1import java.awt.image.BufferedImage;2import java.io.File;3import java.io.FileInputStream;4import java.io.FileNotFoundException;5import java.io.IOException;67import javax.imageio.ImageIO;89public class Picture {10public static void main(String[] args) throws FileNotFoundException, IOException {11 File picture = new File("E:/PrintScreen/StarSky.jpg");12 BufferedImage sourceImg = ImageIO.read(new FileInputStream(picture));1314 System.out.println(String.format("Size: %.1f KB", picture.length()/1024.0));15 System.out.println("Width: " + sourceImg.getWidth());16 System.out.println("Height: " + sourceImg.getHeight());17 }18 }这个没看懂!1import java.io.File;2import java.io.IOException;3import java.util.Iterator;45import javax.imageio.ImageIO;6import javax.imageio.ImageReader;7import javax.imageio.stream.ImageInputStream;89public class Picture {10public static void main(String[] args) {11 String srcPath = "E:/PrintScreen/1.jpg";1213 File file = new File(srcPath);14try {15 Iterator<ImageReader> readers = ImageIO.getImageReadersByFormatName("jpg");16 ImageReader reader = (ImageReader) readers.next();17 ImageInputStream iis = ImageIO.createImageInputStream(file);18 reader.setInput(iis, true);19 System.out.println("width: " + reader.getWidth(0));20 System.out.println("height: " + reader.getHeight(0));21 } catch (IOException e) {22 e.printStackTrace();23 }24 }25 }##########################################################################注意:图⽚是预先存放在Java Project下的Package中1import java.awt.Image;2import java.awt.image.BufferedImage;3import java.io.IOException;4import .URL;56import javax.imageio.ImageIO;78public class GetImageSize {9public static void main(String[] args) throws IOException {10 BufferedImage bi = null;1112try {13 URL u = GetImageSize.class.getClassLoader().getResource("images/background.png");14 bi = ImageIO.read(u);15 } catch (IOException e) {16 e.printStackTrace();17 }18 Image img = bi;1920 System.out.println(img.getWidth(null));21 System.out.println(img.getHeight(null));22 }23 }。
Java 读取Word中的文本的图片

Java 提取Word中的文本和图片本文将介绍通过Java来提取或读取Word文档中文本和图片的方法。
这里提取文本和图片包括同时提取文档正文当中以及页眉、页脚中的的文本和图片。
使用工具:Spire.Doc for JavaJar文件导入方法(参考):方法1:下载jar文件包。
下载后解压文件,并将lib文件夹下的Spire.Doc.jar文件导入到java程序。
导入效果参考如下:方法2:可通过maven导入。
参考导入方法。
测试文档如下:Java 代码示例(供参考)【示例1】提取Word 中的文本 import com.spire.doc.*; import java.io.FileWriter;import java.io.IOException;public class ExtractText {public static void main(String[] args) throws IOException{//加载测试文档Document doc = new Document();doc.loadFromFile("test.docx");//获取文本保存为StringString text = doc.getText();//将String写入TxtwriteStringToTxt(text,"提取文本.txt");}public static void writeStringToTxt(String content, String txtFileName) throws IOException {FileWriter fWriter= new FileWriter(txtFileName,true);try {fWriter.write(content);}catch(IOException ex){ex.printStackTrace();}finally{try{fWriter.flush();fWriter.close();} catch (IOException ex) {ex.printStackTrace();}}}}文本提取结果:【示例2】提取Word中的图片import com.spire.doc.Document;import com.spire.doc.documents.DocumentObjectType;import com.spire.doc.fields.DocPicture;import com.spire.doc.interfaces.ICompositeObject;import com.spire.doc.interfaces.IDocumentObject;import javax.imageio.ImageIO;import java.awt.image.RenderedImage;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.Queue;public class ExtractImg {public static void main(String[] args) throws IOException { //加载Word文档Document document = new Document();document.loadFromFile("test.docx");//创建Queue对象Queue nodes = new LinkedList();nodes.add(document);//创建List对象List images = new ArrayList();//遍历文档中的子对象while (nodes.size() > 0) {ICompositeObject node = (ICompositeObject) nodes.poll();for (int i = 0; i < node.getChildObjects().getCount(); i++) {IDocumentObject child = node.getChildObjects().get(i);if (child instanceof ICompositeObject) {nodes.add((ICompositeObject) child);//获取图片并添加到Listif (child.getDocumentObjectType() == DocumentObjectType.Picture) { DocPicture picture = (DocPicture) child;images.add(picture.getImage());}}}}//将图片保存为PNG格式文件for (int i = 0; i < images.size(); i++) {File file = new File(String.format("图片-%d.png", i));ImageIO.write((RenderedImage) images.get(i), "PNG", file);}}}图片提取结果:(本文完)。
Java实现海康摄像头抓拍图像Windows、Linux

Java实现海康摄像头抓拍图像Windows、Linux先抱怨⼀下,打死都想不到,海康的摄像头SDK居然是⼀个Java类,还有必须的两个jar包(jna.jar,examples.jar)。
⿁能想得到会这么命名。
下⾯开始吧。
Windows1. 把从官⽹下载的SDK(和当前系统对应)解压,把库⽂件整个拷贝到某个⽬录(我是D:\hik\libs),然后把D:\hik\libs和D:\hik\libs\HCNetSDKCom加⼊到系统环境变量path中。
可以尝试从代码中把这两个⽂件夹加⼊path,我没有试成功。
2. 项⽬引⼊jna.jar和examples.jar这两个jar包。
注意:⼀定要⽤官⽹SDK⾥⾯的,千万不要⽤其他版本的jna。
3. 从ClientDemo中把HCNetSDK.java拷贝到⾃⼰的项⽬中(这就是神奇的SDK)。
4. 开始主体,Java代码:public class CameraManager {private static Logger logger = LoggerFactory.getLogger(CameraManager.class);private static HCNetSDK sdk = HCNetSDK.INSTANCE;private static NativeLong userId = new NativeLong(-1);//⽤户登录ID,值为0,1,2...private static NativeLong startChan = new NativeLong(-1); // start channel numberprivate void login(String ip, short port, String username, String pwd){//sdk初始化if (!_DVR_Init()){logger.error("海康SDK初始化失败!" + _DVR_GetLastError());}//注册设备NET_DVR_DEVICEINFO_V30 deviceInfo = new NET_DVR_DEVICEINFO_V30();//登录userId = _DVR_Login_V30(ip, port, username, pwd, deviceInfo);if (userId.intValue() < 0){logger.error("摄像头⽤户登录失败!Err:" + _DVR_GetLastError());}startChan.setValue(deviceInfo.byStartChan);}public boolean takePic(String ip, short port, String username, String pwd) {if (userId.intValue() < 0 || startChan.intValue() < 0) {("执⾏海康摄像机登录,ip[{}],port[{}],username[{}].",ip,port,username);login(ip,port,username,pwd);}("准备拍照,userId:[{}],startChan:[{}]",userId.intValue(),startChan.intValue());//拍照NET_DVR_JPEGPARA strJpeg = new NET_DVR_JPEGPARA();strJpeg.wPicQuality = 1; //图像参数strJpeg.wPicSize = 2;String filePath = "E:\\123q.jpg";boolean b = _DVR_CaptureJPEGPicture(userId, startChan, strJpeg, filePath);//尝试⽤NET_DVR_CaptureJPEGPicture_NEW⽅法,但不是报43就是JDK崩溃.... if(!b){//单帧数据捕获图⽚System.out.println("抓拍失败!" + " err: " + _DVR_GetLastError());}else{System.out.println("抓拍成功");}return b;}public void logout(){_DVR_Logout(userId);_DVR_Cleanup();}}5. 完成。
java读取网络照片的方法

if (HttpResult != HttpURLConnection.HTTP_OK) // 不等于 HTTP_OK 说明连接不成功 System.out.print(“fail”); else { int filesize = urlconn.getContentLength(); // 取数据长度 System.out.println(filesize); BufferedInputStream bis=new BufferedInputStream(urlconn.getInputStream()); BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(target)); byte[] buffer = new byte[1024]; //创建存放输入流的缓冲 int num = -1; //读入的字节数 while (true) { num = bis.read(buffer); // 读入到缓冲区 if (num ==-1){ bos.flush(); break; //已经读完 } bos.flush(); bos.write(buffer,0,num); } bos.close(); bis.close(); } } public static void main(String[] args) throws Exception{
java 读取网络照片的方法
大家知道 java 读取网络照片吗?最近一个 Web 项目,需要下载网络图 片,于是又重拾起一些最基础的东西,各种流的数据传递,简单弄了个非常 方便下载网络图片的例子,代码很简单。 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.HttpURLConnection; import java.URL; import java.URLConnection; /*. *读取网络照片,保存到本地 * */ public class GetUrlImg { public static void getUrlImg(String URLName,String target) throws Exception {//URLName 照片地址 // target 本地地址 int HttpResult = 0; //服务器返回的状态 URL url = new URL(URLName); //创建 URL URLConnection urlconn = url.openConnection(); // 试图连接并取得返回状态码 urlconn.connect(); HttpURLConnection httpconn = (HttpURLConnection) urlconn; HttpResult = httpconn.getResponseCode(); System.out.println(HttpResult);
写个简单的18禁图片查看器

写个简单的18禁图⽚查看器
简介
这是⼀个⽤C# Winform 写的简易的成⼈图⽚查看器,通过输⼊你的⾝份证号码来判断你是否年满18岁,如果18岁以上,你则允许查看图⽚,否则会提⽰你"未成年",不能查看.原理
就是通过截取⾝份证18位号码中的第7到第10位那是每个公民的出⽣年份,然后与当前系统的年份相⽐较,如果差距⼤于18,说明你成年了,⼩于18则未成年.
界⾯设计
代码
运⾏效果测试
开始运⾏,当前图⽚为隐藏.
随便输⼊⼀串号码数字和字母(数量不⾜18位), 弹出提⽰⾝份证号码不⾜18位!
随便输⼊⼀串数字(仅数字且不⾜18位),弹出提⽰⾝份证号码不⾜18位!
输⼊准确的18位⾝份证号码,弹出提⽰请查看,同时图⽚为可见.
如果你未满18岁,弹出提⽰:"你未成年,不允许看图⽚." 图⽚为不可见!
呵呵⼀个简单的18禁图⽚查看器就写好了! ~~~~~:)。
如何在Eclipse下查看JDK源代码以及java源代码阅读方法(转载)

如何在Eclipse下查看JDK源代码以及java源代码阅读⽅法(转载)不会看JDK源代码,相当于没学过Java。
⽹上不容易找到⼀篇帮助我解决了如何在Eclipse下查看JDK源代码的⽂章。
核⼼提⽰:在Eclipse中查看JDK类库的源代码设置: 1.点 window- Preferences - Java - Installed JRES 2.此时Installed JRES右边是列表窗格,列出了系统中的 JRE 环境,选择你的JRE,然后点边上的 Edit...,会出现⼀个窗⼝(Edit JRE) 3.选中rt.jar⽂件的这⼀项在Eclipse中查看JDK类库的源代码设置:1.点 “window”-> "Preferences" -> "" -> "Installed JRES"2.此时"Installed JRES"右边是列表窗格,列出了系统中的 JRE 环境,选择你的JRE,然后点边上的 "Edit...",会出现⼀个窗⼝(Edit JRE)3.选中rt.jar⽂件的这⼀项:“c:\program files\java\jre_1.5.0_06\lib\rt.jar”点左边的“+” 号展开它,4.展开后,可以看到“Source Attachment:(none)”,点这⼀项,点右边的按钮“Source Attachment...”, 选择你的JDK⽬录下的 “src.zip”⽂件5.⼀路点"ok",结束。
dt.jar是关于运⾏环境的类库,主要是swing的包tools.jar是关于⼀些⼯具的类库rt.jar包含了jdk的基础类库,也就是你在doc⾥⾯看到的所有的类的class⽂件使⽤:可以在 Java 源代码编辑器或代码⽚段编辑窗中选择类型、⽅法或字段的名称,然后对元素的定义打开编辑器。
照片冲印小程序源码

照片冲印小程序源码下面是一个简单的照片冲印小程序源码示例,代码采用Python语言编写,共计1200字以上。
```python# -*- coding:utf-8 -*-import osdef main(:print("欢迎使用照片冲印小程序!")while True:print("请选择操作:")print("1. 查看照片")print("2. 冲印照片")print("3. 删除照片")print("4. 退出程序")choice = input("请输入操作编号:")if choice == "1":view_photoselif choice == "2":print("请输入照片路径:")path = inputprint("请输入冲印数量:")num = inputprint("是否需要加急冲印?(是/否)") is_urgent = inputprint("正在冲印照片...")print("照片路径:", path)print("冲印数量:", num)print("是否加急:", is_urgent) print("照片冲印完成!")elif choice == "3":print("请输入要删除的照片路径:") path = inputif os.path.exists(path):os.remove(path)print("照片删除成功!")else:print("照片不存在!")elif choice == "4":print("程序已退出,再见!")breakelse:print("输入无效,请重新输入!")def view_photos(:print("正在查看照片...")#这里可以加入查看照片的相关代码print("照片查看完成!")if __name__ == "__main__":main```这是一个简单的照片冲印小程序,提供了查看照片、冲印照片、删除照片和退出程序的功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
package ioStream;import java.awt.AWTEvent;import java.awt.Color;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Image;import java.awt.Toolkit;import java.awt.event.AWTEventListener;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.awt.event.MouseWheelEvent;import java.awt.event.MouseWheelListener;import java.awt.geom.AffineTransform;import java.io.File;import java.util.LinkedList;import java.util.List;import javax.swing.ImageIcon;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.Timer;import javax.swing.UIManager;import javax.swing.filechooser.FileNameExtensionFilter;/** 该代码意在实现照片查看器的功能* 当按下“右箭头”时浏览下一张图片* 当按下“左箭头"时浏览上一张图片* 实现循环浏览* 当按下"Ecs"时推出全屏浏览模式* 当按下CTRL+“上箭头”时,全屏显示* 只能浏览指定文件夹下面的所支持格式的图片(gif,jpg,png)*链表的大小与他的最大角标相隔1*/public class PicsViewer {static JFrame frame0;//原始的全屏显示的窗口static int SWidth=Toolkit.getDefaultToolkit().getScreenSize().width;static int SHeight=Toolkit.getDefaultToolkit().getScreenSize().height;static Image icon=(new ImageIcon("PicsViewer/img.png")).getImage();//框架图标JFileChooser chooser; //声明一个文件选择器对象static JPanel imgjp;static Image img0=(new ImageIcon("image/cat.png")).getImage();//默认的一张图片File files;static int j=0;static int k=0;static File root;static int i=0;Timer T00;String[] Str;//获取文件名字符串static Image img;static int xCoor,yCoor;//打印图片的左上角坐标static int PWidth,PHeight;//图片的宽高(小于屏幕宽高的时候的)static int PWidth0,PHeight0;//图片宽高大于屏幕宽高的时候的图片宽高String CPath;//直接获得的路径String newPath;//经过转换后的路径static List<Image> list=new LinkedList<Image>();int index=0;static int index0=0;static double xCoor0=1,yCoor0=1;//图片在X轴缩放的倍数,图片在Y轴的缩放倍数;static boolean isFull=true;//是否全屏显示static int now;//当前正在使用的图片public PicsViewer(){frame0=new JFrame();imgjp=new ImgsPanel();imgjp.setBackground(new Color(51,51,51));frame0.add(imgjp);frame0.setTitle("PicsViewer1.0");frame0.setSize(SWidth,SHeight);frame0.setUndecorated(isFull);frame0.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//不设置窗口的位置,是因为窗口默认的位置就是在桌面的左上角frame0.setIconImage(icon);//设置窗口图标frame0.setVisible(true);/** 程序一启动就弹出文件选择对话框让用户选择所要浏览的图片*/try {UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");//设置为当前操作系统的外观JFileChooser chooser = new JFileChooser();chooser.setDialogTitle("请选择要查看的图片");chooser.addChoosableFileFilter(new FileNameExtensionFilter("常见图片格式", "jpg", "gif", "png"));chooser.showOpenDialog(frame0);int returnVal = chooser.showOpenDialog(frame0);if(returnVal == JFileChooser.APPROVE_OPTION) {img=(new ImageIcon(chooser.getSelectedFile().toString())).getImage();CPath=chooser.getCurrentDirectory().toString()+System.getProperty("file.separator");newPath=CPath.replaceAll("\\\\","/");//路径转换root=new File(newPath);img0=img;imgjp.repaint();findImage(root);}} catch (Exception evt) {}Toolkit toolkit = Toolkit.getDefaultToolkit();toolkit.addAWTEventListener(new ShortcutKeyListener(), AWTEvent.KEY_EVENT_MASK | AWTEvent.MOUSE_EVENT_MASK| AWTEvent.WINDOW_EVENT_MASK);/*添加键盘监听事件,当点击键盘上的方向键右键时浏览下一张图片,点击左箭头浏览上一张,当按下上箭头时对当前图片进行放大操作* 当按下下箭头时,对当前浏览的图片进行缩小操作* 同时添加鼠标滚轮监听事件,也对当前图片进行缩放操作**/imgjp.addMouseWheelListener(new MouseWheelListener(){public void mouseWheelMoved(MouseWheelEvent e){if(e.getWheelRotation()<0){//如果鼠标滚轮向上滚动,则放大图片}else{//否则缩小图片}}});}public void findImage(File dir){File[] files=dir.listFiles();//得到当前路径下的所有文件和文件夹for(int i=0; i<files.length; i++){Str=new String[files.length];Str[i]=files[i].getAbsolutePath();//将路径和文件名存入字符串数组//使用链表替代数组if(Str[i].endsWith(".jpg")||Str[i].endsWith(".gif")||Str[i].endsWith(".png")==true){list.add(index,(new ImageIcon(Str[i])).getImage());index++;}}}//画图的算法有点问题????static class ImgsPanel extends JPanel{private static final long serialVersionUID = 1L;public void paintComponent(Graphics g){super.paintComponent(g);Graphics2D G2=(Graphics2D)g;AffineTransform Trans=new AffineTransform();PWidth=img0.getWidth(null);PHeight=img0.getHeight(null);if(PWidth<=SWidth&&PHeight<=SHeight){xCoor=(SWidth-PWidth)/2;yCoor=(SHeight-PHeight)/2;PWidth0=PWidth;PHeight0=PHeight;Trans.scale(xCoor0,yCoor0);//对图片的缩放操作// G2.setTransform(Trans);}if(PWidth>SWidth||PHeight>SHeight){yCoor0=SHeight/(PHeight*1.0);PHeight0=SHeight;PWidth0=(int)(PWidth*yCoor0);xCoor0=yCoor0;xCoor=(SWidth-PWidth0)/2;yCoor=-(PHeight0-SHeight)/2;Trans.scale(xCoor0,yCoor0);//对图片的缩放操作// G2.setTransform(Trans);}G2.drawImage(img0,xCoor,yCoor,PWidth0,PHeight0,this);}}static class Tim implements ActionListener{public void actionPerformed(ActionEvent e){//看来变量最好不要用相同的变量名img0=(Image)(list.get(index0));index0++;if(index0==list.size()){index0=0;img0=(Image)(list.get(index0));index0++;imgjp.repaint();}imgjp.repaint();}}static class ShortcutKeyListener implements AWTEventListener { public void eventDispatched(AWTEvent e) {if (e.getClass() == KeyEvent.class) {// 被处理的事件是键盘事件.KeyEvent keyEvent = (KeyEvent) e;if (keyEvent.getID() == KeyEvent.KEY_PRESSED) {keyPressed(keyEvent);} else if (keyEvent.getID() == KeyEvent.KEY_RELEASED) {keyReleased(keyEvent);}}}/** 当只有一张图片是抛出异常,不能使用左右方向键,待解决*/private void keyPressed(KeyEvent e) {switch(e.getKeyCode()){case KeyEvent.VK_RIGHT: if(list.size()!=1){img0=(Image)(list.get(index0));now=index0;index0++;if(index0==list.size()-1){index0=0;img0=(Image)(list.get(index0));now=index0;index0++;imgjp.repaint();}imgjp.repaint();}else{img0=(Image)(list.get(index0));imgjp.repaint();}break;case KeyEvent.VK_LEFT:if(list.size()!=1){if(index0>0){img0=(Image)(list.get(index0));now=index0;index0--;imgjp.repaint();}if(index0<0){index0=list.size()-1;img0=(Image)(list.get(index0));now=index0;index0--;imgjp.repaint();}}else{index0=list.size()-1;img0=(Image)(list.get(index0));now=index0;index0--;imgjp.repaint();}break;case KeyEvent.VK_ESCAPE:isFull=false;frame0=new JFrame();imgjp=new ImgsPanel();imgjp.setBackground(new Color(51,51,51));frame0.add(imgjp);frame0.setTitle("PicsViewer1.0");frame0.setSize(SWidth,SHeight);frame0.setUndecorated(isFull);frame0.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame0.setIconImage(icon);//设置窗口图标frame0.setVisible(true);break;}if ((e.isControlDown() == true)&& (e.getKeyCode() == KeyEvent.VK_UP)) { isFull=true;frame0=new JFrame();imgjp=new ImgsPanel();imgjp.setBackground(new Color(51,51,51));frame0.add(imgjp);frame0.setTitle("PicsViewer1.0");frame0.setSize(SWidth,SHeight);frame0.setUndecorated(isFull);frame0.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame0.setIconImage(icon);frame0.setVisible(true);}}private void keyReleased(KeyEvent event) {}}public static void main(String[] args){new PicsViewer();}}。