精华内容
下载资源
问答
  • 低成本入门3D打印机普遍使用T8丝杆做Z轴,丝杆和T8螺母之间齿合实际一定存在间隙,即使Z轴细分级数多,Z轴往复定位误差却是比较大。在笔者组装机器上,Z轴丝杆空转1/3圈多,Z轴滑块是纹丝不动。肉眼观察,...

    低成本入门3D打印机普遍使用T8丝杆做Z轴,丝杆和T8螺母之间的齿合实际一定存在间隙,即使Z轴的细分级数多,Z轴的往复定位误差却是比较大。在笔者组装的机器上,Z轴丝杆空转1/3圈多,Z轴滑块是纹丝不动的。肉眼观察,丝杆头有接近1mm的空行程。实际打印的表现是:第一层打印完毕后,第二、三甚至四层打印喷头并未实际抬升,仍然在第一层上反复移动,而又因为第一层的料已固化,喷头被堵住无法出料,出料齿轮咔咔作响。打印出来的物件,明显底座薄且有大象腿的现象。

    回差的问题有消回差螺母可以帮助改善,然而需要对Z滑块进行改造才能使用,且消回差螺母会增加丝杆的阻力和磨损。考虑到在3D打印过程中,Z轴总是做Z坐标值增加方向的运动,我们可以尝试通过修改切片打印文件头部的开始代码解决此问题。

    以笔者使用的Cura软件为例, 默认开始打印Gcode代码为:

    G28 ;Home

    G1 Z15.0 F6000 ;Move the platform down 15mm

    ;Prime the extruder

    G92 E0

    G1 F200 E3

    G92 E0

    其中G28是回系统原点。G1 Z15.0 F6000是打印物件前将喷头抬升15mm。假设Z轴丝杠间隙导致的空行程有1mm即系统发出了1mm的移动指令,丝杆空转滑车不动。G28系统回原点是通过X,Y和Z轴各自的限位开关判断原点位置。系统在Z轴原点附近往复1次触发开关动作1次后初始化Z原点位置。此时Z滑车行进方向向下。抬升15mm指令执行后,实际喷头抬升至14mm位置,此时滑车的行进方向向上。打印第一层的代码如G0 F3600 X44.08 Y39.922 Z0.3将使得系统向下移动喷头14.7mm,在滑车行进方向由向上改变至向下过程中,又发生1mm的空行程,喷头从实际位置14mm下移了13.7mm,准确到达0.3mm的位置,此时Z滑车行进方向向下。如果层高是0.2mm,首层0.3mm打印完毕后,Z轴滑车需从行进方向向下切换为向上,记住丝杠有1mm的空行程,实际第二层系统指令抬升0.2mm,喷头却仍停留在0.3mm的位置,还有0.8mm的空行程没有跑完呢。后续还要再有四层,4个0.2mm的抬升,才能将1mm的空行程跑完。只有从第六层的开始,喷头实际才移动到0.5mm。

    由以上分析可知,Z轴的空行程发生在行进方向改变的时候。由于3D打印物件的过程中,Z轴总是发生上升运动,只要在首层比如0.3mm的位置,保证滑车已是向上运动的状态,那么后续的抬升就不会有空行程干扰了。更改打印开始G Gode如下:

    G28 ;Home

    G1 Z1.3 F6000 ; Z offset shift removal

    G92 Z0.3 ; Z offset shift removal

    ...

    ...

    在G28回系统初始原点后,G1 Z1.3 F6000将使得系统Z轴理论上移1.3mm,实际上,1mm空行程被跑完后喷头抬升到0.3mm位置。G92 Z0.3设定系统认定Z轴当前位置为0.3mm。后续物件打印命令Z轴的抬升都能够到达准确的实际位置了(设置如图)。

    fb93d9230bf9bcbc72cfd2d79b02ace7.png

    经过以上调整,基本上第一层及后续几层不能好好打的问题得以解决。

    展开全文
  • java中关于图片的操作

    2020-08-13 13:36:37
    java中操作图片直接上代码 直接上代码 //写入图片文件 imagein = new FileInputStream... //设置字体(Font (字体,字体类型(加粗,斜体等),字体大小(int)注意,字体大小和图片大小分辨率不是同一单位) g.s

    一,给图片加上生成好的二维码及文字

    //zxingImage 生成好的二维码   backgroundPath 模板文件的地址
    public static InputStream changeMerchantSeatQrcodeImage(BufferedImage zxingImage, String backgroundPath) {
    InputStream imagein = null ;
    ImageOutputStream imOut = null;
     try{
    //写入图片文件
     imagein = new FileInputStream(backgroundPath);
    //将图片写入缓存流中
     BufferedImage image = ImageIO.read(imagein);
    //使用Graphics类进行绘图
     Graphics g = image.getGraphics();
     //设置字体(Font (字体,字体类型(加粗,斜体等),字体大小(int)注意,字体大小和图片大小的分辨率不是同一单位)
     g.setFont(new Font("方正大标宋简体",Font.BOLD,200);
     g.setColor(Color.white);//设置颜色
     //写入具体内容,以及写入位置的x和y
     g.drawString("具体内容",500,300);
    //二维码图片*0.2
       BufferedImage squreImage = resizeImage(zxingImage,0.2);	 
    //同上
               g.drawImage(squreImage,27,76,squreImage.getWidth(),squreImage.getHeight(), null);
           g.dispose();  
           //做一个png转jpg
    JPG(BufferedImage image)
     //通过ImageIO把文件写出
     //image 需要输出的文件
     //png 输出的文件类型
     //new File("xxxx.png") 输出的文件的具体位置,也可以把输出存放在输出流中
     //例如:
     // ImageIO.write(image, "png", new ByteArrayOutputStream ());
     //然后读取流同样的效果
     ImageIO.write(image, "png", new File("xxxx.png"));//这种方式输出的图形dpi会变成默认的96下面一个方式可以自定义
    //自定义dpi的大小
    // JPEGCodec.createJPEGEncoder(new ByteArrayOutputStream ())也可以
    //然后使用  ByteArrayOutputStream .toByteArray();在用输出流输出也可以是同样的效果
     JPEGImageEncoder jpegEncoder = JPEGCodec.createJPEGEncoder(new FileOutputStream(backgroundPath));
    	            JPEGEncodeParam jpegEncodeParam = jpegEncoder.getDefaultJPEGEncodeParam(image);	            jpegEncodeParam.setDensityUnit(JPEGEncodeParam.DENSITY_UNIT_DOTS_INCH);
    	            jpegEncoder.setJPEGEncodeParam(jpegEncodeParam);
    	            jpegEncodeParam.setQuality(0.75f, false);
    	            jpegEncodeParam.setXDensity(300);
    	            jpegEncodeParam.setYDensity(300);
    	            jpegEncoder.encode(image, jpegEncodeParam);
     
    }catch (Exception e) {
    	            e.printStackTrace();
    }
    finally {
    	            try {
    	                imagein.close();
    	                
    	            } catch (IOException e) {
    	                e.printStackTrace();
    	            }
    	        }
    }
    
    //做二维码缩小图或者生成二维码就算好大小
    //originalImage 二维码图流
    //times 所需要缩小的比例
    public static BufferedImage resizeImage11(BufferedImage  originalImage, int times){
    //算出缩小后的宽
    	 int width = (int)(originalImage.getWidth()*times);
    //算出缩小后的高度
    	int height = (int)(originalImage.getHeight()*times);
      //或者直接定义大小
    	  //int width =15;
    	  //int  height =15;
    	  //获取图像的类型
    	        int tType = originalImage.getType();
    	        if(0 == tType){
    	            tType = 5;
    	        }
    	        //新建一个目标大小的图片放在缓冲区
    	        BufferedImage newImage = new BufferedImage(width,height, tType);
    	        //同上
    	        Graphics g = newImage.getGraphics();
    	     //把原来originalImage的以指定高度复制给newImage
    	     //x轴y轴起都为0及全图
    	        g.drawImage(originalImage, 0,0,width,height,null);
    	      //销毁程序中指定的图形界面资源  方便后面其他图形的操作及程序卡死 
    	        g.dispose();
    
    	        return newImage;
    	    }
    public static void main(String[] args){
    String imgPath = "二维码地址"; 
    try {
    BufferedImage image = ImageIO.read(new FileInputStream(imgPath));
    changeMerchantSeatQrcodeImage(image,"样图地址");
    } catch (FileNotFoundException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    
    
    //做png转jpg 
    public   static   BufferedImage   JPG(BufferedImage image){
    BufferedImage newBufferedImage = new BufferedImage(image.getWidth(),image.getHeight(), BufferedImage.TYPE_INT_RGB);
     //TYPE_INT_RGB:创建一个RBG图像,24位深度,成功将32位图转化成24位
     		             newBufferedImage.createGraphics().drawImage(image, 0, 0, Color.WHITE, null);
    return newBufferedImage ;
     		             } 		
    
    展开全文
  • 关于图片大小理解

    2017-09-27 16:38:51
    G:绿 B:蓝 Bitmap.Config ARGB_4444:每个像素占四位,即A=4,R=4,G=4,B=4,那么一个像素点占4+4+4+4=16位  Bitmap.Config ARGB_8888:每个像素占四位,即A=8,R=8,G=8,B=8,那么一个像素点占8+8+8+8=32位...

    A:透明度

    R:红色

    G:绿

    B:蓝

    Bitmap.Config ARGB_4444:每个像素占四位,即A=4,R=4,G=4,B=4,那么一个像素点占4+4+4+4=16位 

    Bitmap.Config ARGB_8888:每个像素占四位,即A=8,R=8,G=8,B=8,那么一个像素点占8+8+8+8=32位

    Bitmap.Config RGB_565:每个像素占四位,即R=5,G=6,B=5,没有透明度,那么一个像素点占5+6+5=16位

    Bitmap.Config ALPHA_8:每个像素占四位,只有透明度,没有颜色。

    一般情况下我们都是使用的ARGB_8888,由此可知它是最占内存的,因为一个像素占32位,8位=1字节,所以一个像素占4字节的内存。假设有一张480x800的图片,如果格式为ARGB_8888,那么将会占用1500KB的内存

       android.graphics.Bitmap.Config是一个枚举类型,里面定义了位图的四种格式.起初有点奇怪,网上查了一下,大概指定了类型名字怪怪的缘由.

        从名字中可以看出:

        ALPHA_8:数字为8,图形参数应该由一个字节来表示,应该是一种8位的位图

        ARGB_4444:4+4+4+4=16,图形的参数应该由两个字节来表示,应该是一种16位的位图.

        ARGB_8888:8+8+8+8=32,图形的参数应该由四个字节来表示,应该是一种32位的位图.

        RGB_565:5+6+5=16,图形的参数应该由两个字节来表示,应该是一种16位的位图.

     

        网上讲,ALPHA_8,ARGB_4444,ARGB_8888都是透明的位图,也就是所字母A代表透明.

        ARGB_4444:意味着有四个参数,即A,R,G,B,每一个参数由4bit表示.

        同理:

        ARGB_8888:意味着有四个参数,即A,R,G,B,每一个参数由8bit来表示.

        同理:

        RGB_565:意味着有三个参数,R,G,B,三个参数分别占5bit,6bit,5bit.

    关键:

     ARGB8888占将近8M  565占4m左右,以后做的时候都需要随时小心OOM啊。这有点吓人啊。

    展开全文
  • 有上下两段SQL,上面段SQL查询结果是一条记录 ![图片说明](https://img-ask.csdn.net/upload/201606/06/1465204159_317175.png) 下面段SQL查询结果是0条记录 ![图片说明]...
  • <div><p>插入的图片,会按照图片本身的尺寸进行显示,不会有缩放处理,导致图片右边宽度超出界面,完全没法看……</p><p>该提问来源于开源项目:youranreus/G</p></div>
  • 于是开始研究老师文章中的图片链接</strong>: 例如第一次使用Git.md这篇文章,文章的链接是" https://github.com/xugy0926/…… ",而其中第一幅图片的链接却是" ...
  • 关于图片加载出现OOM异常,是我们Android开发人员经常需要考虑问题。最近把公司项目中用到优化小技巧做一个总结出来,方便以后使用。  1、尽量压缩图片占用内存。  在使用Bitmap.Config这个变量时候,它...

            关于图片加载出现OOM异常,是我们Android开发人员经常需要考虑的问题。最近把公司项目中用到的优化小技巧做一个总结出来,方便以后使用。

           1、尽量压缩图片占用内存。

           在使用Bitmap.Config这个变量的时候,它里面会有4个枚举值,分别是: 

    Bitmap.Config ARGB_4444:每个像素占四位,即A=4,R=4,G=4,B=4,那么一个像素点占4+4+4+4=16位 

    Bitmap.Config ARGB_8888:每个像素占四位,即A=8,R=8,G=8,B=8,那么一个像素点占8+8+8+8=32位

    Bitmap.Config RGB_565:每个像素占四位,即R=5,G=6,B=5,没有透明度,那么一个像素点占5+6+5=16位

    Bitmap.Config ALPHA_8:每个像素占四位,只有透明度,没有颜色。

    A:透明度

    R:红色

    G:绿

    B:蓝

    默认情况下,使用的是Bitmap.Config ARGB_8888。但是通过比较我们发现,该值是最占内存的。

    Bitmap.Config ARGB_4444和Bitmap.Config RGB_565所占用的内存都只有它的一半。

    Bitmap.Config RGB_565的优点在于,对图片本身的失真比较小,缺点是没有透明色,不能适用于有透明色的图片。前几天就碰到用Bitmap.Config RGB_565,背景出现大黑框的情况。

    Bitmap.Config ARGB_4444刚好相反,有透明色,但是每一种色值却失真比较严重,一般情况下不推荐。

    Bitmap.Config ALPHA_8占用内存和默认差不多,不推荐。

            2、处理图片缓存了。如果需要频繁展示的图片,比如适配器中的图片,那么我们就需要缓存在内存中,但是如果只是一般的比如帖子或者商品里面的图片,只需要缓存在sd卡中就可以大大降低对内存的消耗。
    展开全文
  • 代码中用两种方法实现了这个效果,注释部分通过z-index控制图片的显示通过渐变使之在旋转中实现交替达到一张图片拥有两个不同面效果 第二种方法就是使用backface-visibility使图片在旋转后背面隐藏效果实现两张...
  • 一:打开七牛云存储官网https://www.qiniu.com/?hmsr=biaoti&hmpl=pinzhuan&hmcu=biaoti&hmkw=&hmci=,新用户根据提示进行注册,注册成功,进行登录 二:登录成功之后在主页面->页面存储-&g...
  • 关于JPanel设置背景图片的Bug说明

    千次阅读 2013-02-14 22:19:05
    原文来自 关于JPanel设置背景图片的Bug说明 JPanel可以像网页控件一样设置背景图片,主要是通过覆写JPanel paint(Graphicsg)方法和paintComponent(Graphics g)方法;   但是二者有区别: “  JLabel类同...
  •  图片的美白其实就是操作这个图片所有像素点,获得像素点R、G、B、A值然后获取到值进行一定数目增量。稍微懂点图像学朋友也都知道,三原色 red、green、blue在图像学中取值范围是0-255。越靠近0,...
  • js代码: //判断浏览器是否支持FileReader接口 if (typeof FileReader == 'undefined') { document.getElementById("#id01").InnerHTML = "当前浏览器不支持FileReader接口</h1>";... document.g
  • 我通过算法求到了R byte[],G byte[],B byte!现在想把他们组装在一起传出去怎么做?
  • 关于图片颜色通道分离与合并操作 spilt函数为通道分离,merge为通道合并,具体用法如下: 代码实现: #颜色通道分离和合并,split和merge img = cv2.imread('cat.jpg') b,g,r = cv2.split(img) #通道分离 cv2....
  • Handler+ExecutorService(线程池)+MessageQueue+缓存模式: ...package ghj1976.AndroidTest;   import java.lang.ref.SoftReference; import java.net.URL; import java.util.HashMap; import java.util.Map; imp
  • 机器配置:Win7 64位,Oracle11g版本:11.2.0.1.0 在官网上没有找到对应版本,安装ODAC112030_x64时报错, ![图片说明](https://img-ask.csdn.net/upload/201508/09/1439125913_962473.png) 如何解决???
  • //想要将这张图片作为背景图片,是不能直接使用add()方法添加该icon对象;在LoginPanel类中重写paintComponent()方法,并在该方法中调用Graphics类drawImage()方法绘制该图片 //重写paintComponent()方法 ...
  • 关于 ARGB_8888 介绍,网上基本都是只说明 ARGB_8888 格式每个像素占 4 个字节,每个通道(A:alpha,R:red,G:green,B:blue)有 8 位,可以表示 0-255 个值。 但是,你是否知道它内部每个通道排列顺序吗?是 ...
  • 关于 JavaWeb 编辑验证码图片1.0 内存中创建一个图片 BufferedImage image =new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); Graphics g =image.getGraphics(); 随机数 产生一个0-1随机数 Random...
  • 图中a_C值因为时sess.run情况下,得到时out确切值,此时a_C不再是变量 是一个确切值,而a_G在这个例子中,则是作为变量值,是一个等于当前out变量值,当sess.run时才会得到一个确切值。 先定义损失函数J, ...
  • 在写软件时候遇到一个问题,要求是能够在EDIT对话框中设置字体字号,输入文字,同时点击button时候可以截取EDIT对话框生成BMP图片。首先,关于GDI:GDI是图形设备接口英文缩写,主要任务是负责系统与绘图程序...
  • 关于使用editor_md支持markdown组件以及其中的图片上传功能 后端参数接收 @ResponseBody @PostMapping(value = "/uploadFiles") public Map<String, Object> uploadFiles(@RequestParam("editormd-image-file...
  • 关于java读取大图片

    2009-01-14 15:26:28
    现在小弟遇到一个问题,就是关于java读取大图片,项目中一个图片大小就有30m或40m,读取老是报内存溢出异常,请问有什么好解决方案吗?? [b]问题补充:[/b] 按照bohemia方法修改了,成功了,但是小弟机子内存小...
  • 发现图片没有任何变化,则要考虑该浏览器是否兼容,可参考以下代码,在考虑所有浏览器兼容情况下将图片设置为灰色 /*使图片默认全为灰色*/ a:link img{ -webkit-filter: grayscale(100%); -moz-filter: g....
  • g.drawImage(background , 0 , 20, this) ; g.drawString("黑体", 10, 30) ; } @Override public void mouseClicked(MouseEvent e) { // TODO Auto-generated method stub } @Override public void ...
  • 直接使用backgroundImage: url(地址) 能直接显示带空格的图片; 通过网络加载的形式,动态修改地址则无法显示带空格的网络图片; 根本原因是需要额外注意使用"" 或’’ 包裹动态修改的地址 :style="{backgroundImage...
  • 关于原子stm32环境下配置通用2.4g代码导航配置通用2.4g代码在stm32f103环境下配置2.4g代码 导航 配置通用2.4g代码 图片: 这种通用简单2.4g模块不论如何配置距离都不会很远,如果需要配置较远无线,存在一定...
  • 实现微信上网页的图片点击后全屏还可以可以缩放,这个功能是别人做的,可是捏点击后屏幕直接黑屏了,图片没有显示出来。这个代码在网上搜一下,挺多类似的。 先上代码。 function arrayToJson(o) { var r = []; ...
  • 如图,我电脑有两个内存条一共4g内存,但是任务管理器显示,只有1.6g可用,我系统是win864位,华硕笔记本参数如图2,有那位同仁解决过此类问题啊?![图片]...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 450
精华内容 180
关键字:

关于g的图片