天道酬勤,学无止境

bitmap

Android - Set Image overlay with background color outside of bitmap using canvas

问题 我正在研究相机活动覆盖,我已经成功地在矩形之外创建了不透明的颜色(不透明的黑色)。 而且我还成功地在大矩形内创建了一个小矩形。 请看下图。 如您所见,小矩形上有蓝色背景。 问题是,我想在图像(位图)之外制作蓝色背景,而不是覆盖图像。 问题是,如果我用透明填充更改图像,蓝色背景将覆盖它。 如何使蓝色背景仅覆盖图像的外部? 我已经尝试从谷歌找到所有可能的答案,但我没有运气,也许我从错误的方法开始,需要建议。 这是我的代码 bitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888); Canvas osCanvas = new Canvas(bitmap); RectF outerRectangle = new RectF(0, 0, getWidth(), getHeight()); Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); paint.setColor(getResources().getColor(R.color.opaque_black)); paint.setAlpha(99); osCanvas.drawRect(outerRectangle, paint); paint.setXfermode(new

2022-05-17 05:03:11    分类:技术分享    android   image   canvas   bitmap   android-camera

Windows programming DialogBox background image

问题 有没有什么好的教程或方法可以将背景图像添加到 Windows DialogBox 中? 与此类似的东西: 我的追索文件(稍微修剪一下): #include <afxres.h> #include "WindowSettings.h" // for IDC_?, IDD_DLG // Dialog Box Template for IDD_DLG // IDD_DLG DIALOGEX 200, 100, 200, 350 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION DLG_NAME FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN LTEXT "Display Device", IDC_STATIC, 10, 5, 50, 10 COMBOBOX IDC_DIS, 10, 15, 180, 64, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "Resolution", IDC_STATIC, 10, 35, 50, 10 COMBOBOX IDC_RES, 10, 45, 180, 50, CBS_DROPDOWNLIST | WS_DISABLED | WS_VSCROLL |

2022-05-16 22:58:09    分类:技术分享    c++   windows   background   bitmap   dialog

Print & Print Preview a Bitmap in c#

问题 我已经制作了一个在图片框上绘制图像的程序,现在我想打印和打印预览这个,但不知道如何。 请帮忙, 谢谢 编辑我尝试使用打印和打印预览对话框,但不知道如何正确使用它们来打印和显示图片框及其图像的内容 回答1 将 PrintDocument 拖放到您的表单上。 您还需要一个 PrintPreviewDialog 和 PrintDialog。 将对话框的 Document 属性设置为 PrintDocument。 为它实现 PrintPage 事件处理程序,可能很简单: private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { e.Graphics.DrawImage(pictureBox1.Image, 0, 0); } 并添加按钮或菜单项来调用对话框的 ShowDialog() 方法。

2022-05-16 05:22:04    分类:技术分享    c#   bitmap   print-preview   printdialog

Get list of bits set in BitMap

问题 在 C 中,是否有任何优化的方式来检索 BitPositions 集的列表,而无需解析每一位。 考虑以下示例 int bitmap[4]; 所以,有 4 * 32 位位置..值如下 bitmap = { 0x1, 0x0, 0x0, 0x0010001 } 我想检索每个位集的位置,而不是从 0 到 4 * 32 位置进行解析。 回答1 首先,在 C 中不能真正将int用于位图,因为向左移一位到符号位具有未定义的行为,C 不保证表示是二进制补码,或者 int 中有 32 位; 据说避免这些陷阱的最简单方法是使用<stdint.h>中的uint32_t 。 因此 #include <stdint.h> uint32_t bitmap[4]; 因此,请考虑将索引 0 ... 3 中的这些位编号为 0 ... 127; 并且在索引 0 ... 31 内; 因此,您可以使用以下公式获取数组的索引和该值中的位数: int bit_number = // a value from 0 ... 127 int index = value >> 32; // shift right by number of bits in each index int bit_in_value = value & 31; // take modulo 32 to get the bit in value

2022-05-16 03:42:04    分类:技术分享    c   bitmap   bit-manipulation

grayscale hbitmap with python ctypes

问题 我有 PIL 图像,我试图在 ctypes 中转换为灰度 HBitmap。 我对 ctypes、C 或处理 HBITMAP 知之甚少。 我拼凑了来自各种来源的代码,例如 绘制 8bpp 灰度位图(非托管 C++) http://d.hatena.ne.jp/chrono-meter/20090905/p3 这就是我到目前为止所拥有的。 首先,我初始化了所需的标头: import ctypes from ctypes import wintypes class BITMAPINFOHEADER(ctypes.Structure): _fields_ = [ ('biSize', wintypes.DWORD), ('biWidth', wintypes.LONG), ('biHeight', wintypes.LONG), ('biPlanes', wintypes.WORD), ('biBitCount', wintypes.WORD), ('biCompression', wintypes.DWORD), ('biSizeImage', wintypes.DWORD), ('biXPelsPerMeter', wintypes.LONG), ('biYPelsPerMeter', wintypes.LONG), ('biClrUsed', wintypes.DWORD),

2022-05-15 04:54:11    分类:技术分享    python   winapi   bitmap   ctypes   gdi

How to scale down the image for better quality on Android?

问题 现在我正在使用以下代码来缩小运行时从互联网下载的图像。 但结果还不够好。 Bitmap.createScaledBitmap(srcBitmap, dstWidth, dstHeight, true); 有什么帮助吗? 谢谢。 回答1

2022-05-15 04:48:03    分类:技术分享    android   bitmap   image-scaling

Why Bitmap.decodeFile() method is returning null?

问题 我正在尝试像这样将文件解码为位图- BitmapFactory.Options options = new BitmapFactory.Options(); try { Bitmap bitmap = BitmapFactory.decodeFile(mCurrentPhotoPath, options); cropImageView.setImageBitmap(bitmap); Log.d("Musik","bitmap - "+bitmap+" "+mCurrentPhotoPath); } catch (Exception e){ Log.d("Musik",e.toString()); } 我的 mCurrentPhotoPath 是 file:/storage/sdcard0/Android/data/com.example.iaugmentor.iaugmentortestvers/files/Pictures/JPEG_20160805_161105_478260200.jpg 我无法找到为什么它返回 null 并且也没有捕获到异常。 请帮忙 。 提前致谢。 为了清楚起见,让我先说明我是如何保存图像的,我首先创建一个 File 对象,然后捕获图像并将其保存在给定的 Uri 中 - // Create the File where the photo

2022-05-14 18:23:29    分类:技术分享    android   bitmap   bitmapfactory

Mouse cursor bitmap

问题 CURSORINFO cursorInfo = { 0 }; cursorInfo.cbSize = sizeof(cursorInfo); if (GetCursorInfo(&cursorInfo)) { ICONINFO ii = {0}; int p = GetIconInfo(cursorInfo.hCursor, &ii); // get screen HDC dc = GetDC(NULL); HDC memDC = CreateCompatibleDC(dc); //SelectObject(memDC, ii.hbmColor); int counter = 0; // byte* bits[1000];// = new byte[w * 4]; BITMAPINFO bmi; memset(&bmi, 0, sizeof(BITMAPINFO)); bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); bmi.bmiHeader.biWidth = 16; bmi.bmiHeader.biHeight = 16; bmi.bmiHeader.biBitCount = 32; bmi.bmiHeader.biPlanes = 1; bmi.bmiHeader.biCompression = BI_RGB; bmi

2022-05-14 14:38:36    分类:技术分享    c   windows   visual-studio-2008   bitmap   mouse-cursor

android recycler view adapters, viewpagers, databases, bitmaps and out of memory errors

问题 你好,我正在从本地数据库加载大量小图像(例如:180x180 10.21kb)到标签布局(嵌套片段)中的视图分页器中的片段中的许多不同回收器视图中。例如,每个选项卡都有一个带有这些回收器视图的新片段小卡片和图像一切正常,但最终这一切似乎对系统来说有点多,我的应用程序因内存不足错误而被强制关闭,错误指向我的适配器 onBindViewHolder,看起来像这样 @Override public void onBindViewHolder(MyViewHolder holder, int position){ addNewCard cardmaker = cardMakerListDB.get(position); holder.cardText.setText(cardmaker.getCardName()); holder.speechText.setText(cardmaker.getCardSpeech()); Drawable drawable = new BitmapDrawable(Utility.getPhoto(cardmaker.getCardIcon())); holder.cardImage.setImageDrawable(drawable); } 特别是它指向这条线 BitmapDrawable(Utility.getPhoto(cardmaker

2022-05-14 14:31:32    分类:技术分享    android   android-fragments   bitmap   bytearray   android-adapter

How to resize bitmap in canvas?

问题 我在此处和 Google 上找不到其他问题的答案。 问题是,在 GameView 中创建的位图在某些屏幕上太大(在我的 Galaxy S5 上它们是正确的),它们应该使用 GameView.getDensity() 进行缩放。 游戏视图类: bmp = BitmapFactory.decodeResource(getResources(), R.drawable.circle_green); 圈类: private int score; private int y = 0; private int x = 0; private int Speed, width, height; private GameView theGameView; private Bitmap bmp; private Random rnd; public Circle(GameView theGameView, Bitmap bmp) { this.theGameView = theGameView; this.bmp = bmp; this.width = bmp.getWidth(); this.height = bmp.getHeight(); this.score = theGameView.getScore(); rnd = new Random(); x = (int) (30 *

2022-05-12 23:20:51    分类:技术分享    java   android   canvas   bitmap