⑴ java中如何得到屏幕图像信息并保存起来 最后画出来 是不是用BufferedImage来保存啊 求一个大概过程
你的这个问题大概分为以下几个步骤:
1.先得到屏幕图像:
这里如果只是得到图像,图像抓取出来一般是矩形的图片(有专门的方法Robot.createScreenCapture()),图片的大小用边界检测来限制(java.Rectangle类中参考下),抓取到的图片它有左上角那个点的坐标(x,y)还有宽度width,还有高度height,这些就是图像的基本信息了(其他信息如颜色之类的是同样的道理),最好写一个Image的Bean,你存储的时候就可以直接存对象,而不是每个图像的基本信息了。
2.从内存中把图片读出来并保存到磁盘:
抓取下来的图片被BufferedImage接收,但是这个图片并没有被保存起来,只是在内存中的缓存区而已。不管是什么数据,包括数据库里面的表,都是以文件的形式被保存在磁盘上的,所以这里就要把BufferedImage写入一个文件(推荐使用字符流)。这个过程用到的是IO上面的知识。
3.重新画出图片:
第二步中已经把图片以对象的形式保存在文件中了,那么你要画出来就需要重新从文件中读取出这个图片的信息(IO上的知识)(x,y,width,height....),Frame会自动调用paint方法,但是你需要在Image的Bean里面定义它自身的draw方法,然后在paint方法中调用draw方法,这样就可以在你的程序窗口中画出这张图片。
⑵ java项目客户上传的图片放到哪好
最好放在服务器的一个文件夹目录里,但要注意放在web-inf目录下,然后数据库表里对应保存文件存放路径就行了
⑶ java web项目中有很多的图片,如何存放
一般有两种情况,
一种是前端开发需要显示的图片,这个是页面构成必须的元素,一般这些会做 动静分离,后台接口 跟 前端资源会部署在不同的服务器上,有不同的优化,一般会有转发的服务器,判断是后台接口,就转发到后台的服务器,如果是前端资源,就转发到前台的服务器。一般情况下,前端服务器,跟后台的服务器,是分离开的,有不同的人去管理,如果项目小的话,可能就全放在一个。这个优化的化,你可以去了解下 CDN原理。这个是用来优化静态资源加载情况的。
另一种情况是,显示的图片,不是前端构成的,是用户上传文件产生的,这种情况下,现在一般有专门的对象存储,用过 七牛云,跟阿里的。这个的逻辑是文件上传的时候,不是上传到我们自己的服务器,上传到专门的云服务器,我们自己数据库只需要保存这些上传文件的地址,真正使用的时候,把连接给前端,前端自动会根据内容到专门的云服务器上去获取。所有的安全,优化,带宽,缓存命中,这些都有由云服务器去保证。 简单来说,只有有钱,这些东西根本不会成为你项目的瓶颈。
作为技术,我们讨论的应该不是这些。图片会做备份,这个可以有专门的磁盘阵列去实现,简单来说,就是上传的内容保存到磁盘的时候,会自动多保存几个备份到不同的磁盘上。还是那句话,多去了解下CDN的原理,最后这段,个人理解,不一定对。
⑷ web鍥剧墖涓鑸瀛樺湪鍚庣鍝閲
web鍥剧墖涓鑸瀛樺湪Java鍚庣銆
web鍓嶇涓婁紶鍥剧墖鍒癑ava鍚庣锛屽苟淇濆瓨鍒版湰鍦般備竴鑸鏉ヨ达紝鍥剧墖鍦ㄥ悗绔鐨勫瓨鍌ㄦ柟寮忓垎涓轰袱绉嶏細涓锛屽彲浠ュ皢鍥剧墖浠ョ嫭绔嬫枃浠剁殑褰㈠紡瀛樺偍鍦ㄦ湇鍔″櫒鐨勬寚瀹鏂囦欢澶涓锛屽啀灏嗚矾寰勫瓨鍏ユ暟鎹搴撳瓧娈典腑锛屼簩锛屽皢鍥剧墖杞鎹㈡垚浜岃繘鍒舵祦锛岀洿鎺ュ瓨鍌ㄥ埌鏁版嵁搴撶殑Image绫诲瀷瀛楁典腑銆