bitmap

利用Graphics的截图功能CopyFromScreen

不问归期 提交于 2020-02-26 12:48:02
该方式是直接对屏幕进行截图操作 UserControl chartContainPanel = new UserControl(); Graphics graph = chartContainPanel.CreateGraphics(); Size s = chartContainPanel.Size; Bitmap memoryImage = new Bitmap(s.Width, s.Height, graph); Graphics memoryGraphics = Graphics.FromImage(memoryImage); Point screen = chartContainPanel.PointToScreen(this.Location); // 拷贝屏幕对应区域为 memoryGraphics 的 BitMap memoryGraphics.CopyFromScreen(screen.X, screen.Y, 0, 0, s); memoryImage.Save(fileName); 来源: https://www.cnblogs.com/snsnetw/p/12366062.html

Convert a File Object to Bitmap

早过忘川 提交于 2020-02-26 07:48:17
问题 I am using Universal-Image-Loader and there is this functionality that access the file cache of the image from sd card. But I don't know how to convert the returned file cache into bitmap. Basically I just wanted to assign the bitmap to an ImageView. File mSaveBit = imageLoader.getDiscCache().get(easyPuzzle); Log.d("#ImageValue: ", ""+mSaveBit.toString()); mImageView.setImageBitmap(mSaveBit); Error: "The method setImageBitmap(Bitmap) in the type ImageView is not applicable for the arguments

Delphi使用Zint生成QR二维条码(zint.dll)

守給你的承諾、 提交于 2020-02-25 07:29:58
Delphi使用Zint生成QRCODE 本文使用的Zint Barcode Library(zint.dll)版本为2.6.0,和之前使用的2.4.3版本在zint_symbol这个结构体上会有差异。 文件下载地址: https://sourceforge.net/projects/zint/files/zint/2.6.0/ ,下载zint-2.6.0_win32_qtZint_cmd_tcl.zip这个文件,里面包含了要使用的zint.dll 在Delphi定义和zint_symbol对应的结构体和常量: type TZintSymbol = packed record symbology: Integer; height: Integer; whitespace_width: Integer; border_width: Integer; output_options: Integer; fgcolour: array[0..9] of AnsiChar; bgcolour: array[0..9] of AnsiChar; outfile: array[0..255] of AnsiChar; scale: Single; option_1: Integer; option_2: Integer; option_3: Integer; show_hrt: Integer;

C# 图像旋转代码

痞子三分冷 提交于 2020-02-23 11:04:05
方法一: public static Bitmap rotateImage(Bitmap b, float angle) { //create a new empty bitmap to hold rotated image Bitmap returnBitmap = new Bitmap(b.Width, b.Height); //make a graphics object from the empty bitmap Graphics g = Graphics.FromImage(returnBitmap); g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor; //move rotation point to center of image g.TranslateTransform((float)b.Width / 2, (float)b.Height / 2); //rotate g.RotateTransform(angle); //move image back g.TranslateTransform(-(float)b.Width / 2, -(float)b.Height / 2); //draw passed in image onto graphics

trying to crop bitmap using mask throws IllegalArgumentException:

守給你的承諾、 提交于 2020-02-23 07:13:08
问题 I am using following code public void cropSelection(){ Bitmap bitmap = annotationBitmap.copy(annotationBitmap.getConfig(), true); Canvas canvas = new Canvas(bitmap); Paint p = new Paint(); // p.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.XOR)); canvas.drawBitmap(imageBitmap, 0, 0, p); // this line throws error imageBitmap = bitmap; } More surprisingly when I am using the same line canvas.drawBitmap(imageBitmap, 0, 0, p) inside onDraw() it does not throw any error. It works well.

bitmap文件格式分析

陌路散爱 提交于 2020-02-22 16:04:28
说到图片,位图( Bitmap )当然是最简单的,它 Windows 显示图片的基本格式,其文件扩展名为 *.BMP 。在 Windows 下,任何各式的图片文件(包括视频播放)都要转化为位图个时候才能显示出来,各种格式的图片文件也都是在位图格式的基础上采用不同的压缩算法生成的( Flash 中使用了适量图,是按相同颜色区域存储的)。 一、下面我们来看看位图文件( *.BMP )的格式。 位图文件主要分为如下 3 个部分: 块名称 对应 Windows 结构体定义 大小( Byte ) 文件信息头 BITMAPFILEHEADER 14 位图信息头 BITMAPINFOHEADER 40 RGB 颜色阵列 BYTE* 由图像长宽尺寸决定 1、 文件信息头 BITMAPFILEHEADER 结构体定义如下: typedef struct tagBITMAPFILEHEADER { /* bmfh */ UINT bfType; DWORD bfSize; UINT bfReserved1; UINT bfReserved2; DWORD bfOffBits; } BITMAPFILEHEADER; 其中: bfType 说明文件的类型,该值必需是0x4D42,也就是字符'BM'。 bfSize 说明该位图文件的大小,用字节为单位 bfReserved1 保留,必须设置为0

Android照片墙加强版,使用ViewPager实现画廊效果

限于喜欢 提交于 2020-02-21 23:45:30
转载请注明出处: http://blog.csdn.net/guolin_blog/article/details/12646775 记得关于照片墙的文章我已经写过好几篇了,有最基本的照片墙,有瀑布流模式的照片墙,后来又在瀑布流的基础之上加入了查看大图和多点触控缩放的功能。总体来说,照片墙这个Demo在这几篇文章的改进中已经变得较为完善了,本想关于这个功能的系列到此为止,但有朋友跟我反应,觉得在查看大图的时候最好能通过左右滑动来浏览前后的图片。恩,确实,好像比较高端的一些应用都有这样的效果,那么本篇文章中我们来继续对照片墙这个Demo进行改进,让它变得更加高端大气上档次! 整理了一下思路,感觉自己去实现一套通过左右滑动来切换图片的功能非常不划算,需要编写不少的代码。这里为了要让实现简单化,我们准备使用Android提供的ViewPager来完成这个功能。 ViewPager的基本用法我就不在本文中介绍了,如果还不了解的朋友可以到王鹏兄那里先学习一下 http://blog.csdn.net/wangjinyu501/article/details/8169924 。 另外,本篇文章的代码是完全在之前文章的基础上进行开发的,所以如果你还没有看过我前面所写的关于照片墙的文章,建议先去阅读一下 Android瀑布流照片墙实现,体验不规则排列的美感 和 Android多点触控技术实战

Android 高斯模糊上一界面

可紊 提交于 2020-02-21 06:48:42
效果如图,解决intent传递信息过大问题: !!! FAILED BINDER TRANSACTION !!! (parcel size = ***) 高斯模糊引用:https://blog.csdn.net/blank__box/article/details/80099359 Intent intent = new Intent ( ) ; intent . setClass ( getActivity ( ) , FastBlurActivity . class ) ; View view = getActivity ( ) . getWindow ( ) . getDecorView ( ) ; Bitmap bmp1 ; view . destroyDrawingCache ( ) ; view . setDrawingCacheEnabled ( true ) ; //防止为空 bmp1 = view . getDrawingCache ( ) ; save ( bmp1 ) ; //存储图像 startActivity ( intent ) ; public void save ( Bitmap bmp1 ) { String FILENAME = "Bitm.png" ; FileOutputStream fos = null ; try { fos =

2020-02-18

☆樱花仙子☆ 提交于 2020-02-18 21:49:28
1.Bitmap对象绘制图片 BitmapFactory 从文件引入图片,输入参数是Path,Bitmap从图片剪裁图片,输入参数是Bitmap。 BitmapFactory的输入数据类型 具体实现代码,canvas为画布类,paint为画笔。 来源: CSDN 作者: tjuwxt 链接: https://blog.csdn.net/tjuwxt/article/details/104376803

Android 高效加载大图片

╄→尐↘猪︶ㄣ 提交于 2020-02-16 21:29:30
我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状、不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小。比如说系统图片库里展示的图片大都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨率高得多。大家应该知道,我们编写的应用程序都是有一定内存限制的,程序占用了过高的内存就容易出现OOM(OutOfMemory)异常。 我们可以通过下面的代码看出每个应用程序最高可用内存是多少。 int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024); 因此在展示高分辨率图片的时候,最好先将图片进行压缩。压缩后的图片大小应该和用来展示它的控件大小相近,在一个很小的ImageView上显示一张超大的图片不会带来任何视觉上的好处,但却会占用我们相当多宝贵的内存,而且在性能上还可能会带来负面影响。下面我们就来看一看,如何对一张大图片进行适当的压缩,让它能够以最佳大小显示的同时,还能防止OOM的出现。 BitmapFactory这个类提供了多个解析方法(decodeByteArray, decodeFile, decodeResource等)用于创建Bitmap对象,我们应该根据图片的来源选择合适的方法。比如SD卡中的图片可以使用decodeFile方法