BitMap 如何秀出 Byte 陣列資料(C#)
来源:互联网 发布:如何自己开淘宝网店 编辑:程序博客网 时间:2024/05/17 02:39
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Imaging;
using System.Runtime.InteropServices;
namespace BitMap_ShowData_CSharp
{
public partial class Form1 : Form
{
int mwidth;
int mheight;
ColorPalette pal;
Bitmap img;
BitmapData bitmapData;
Rectangle rect;
byte[] data;
[DllImport("kernel32", EntryPoint = "RtlMoveMemory", ExactSpelling = true, CharSet = CharSet.Ansi, SetLastError = true)]
private static extern void CopyMemory(int Destination, int Source, int Length);
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int[] ptr = new int[2];
int i;
Random randObj = new Random() ;
for (i = 0; i <= data.GetUpperBound(0); i++)
{
data[i] = (byte)(randObj.Next(256));
}
bitmapData = img.LockBits(rect, ImageLockMode.WriteOnly, PixelFormat.Format8bppIndexed);
ptr[0] = bitmapData.Scan0.ToInt32();
ptr[1] = VarPtr(data);
CopyMemory(ptr[0], ptr[1], mwidth * mheight);
img.UnlockBits(bitmapData);
//img.RotateFlip(RotateFlipType.RotateNoneFlipX)
pictureBox1.Image = img;
}
private void Form1_Load(object sender, EventArgs e)
{
int i;
int Alpha;
pictureBox1.BackColor = Color.Black;
mwidth = 3324 & 0xFFFC;
mheight = 2504;
data = new byte[mwidth * mheight - 1 + 1];
img = new Bitmap(mwidth, mheight, PixelFormat.Format8bppIndexed);
pal = img.Palette;
Alpha = 255;
for (i = 0; i <= 255; i++)
{
pal.Entries[i] = Color.FromArgb(Alpha, i, i, i);
}
img.Palette = pal;
rect = new Rectangle(0, 0, mwidth, mheight);
}
private int VarPtr(object obj)
{
int returnValue;
GCHandle GC = GCHandle.Alloc(obj, GCHandleType.Pinned);
returnValue = GC.AddrOfPinnedObject().ToInt32();
GC.Free();
return returnValue;
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Imaging;
using System.Runtime.InteropServices;
namespace BitMap_ShowData_CSharp
{
public partial class Form1 : Form
{
int mwidth;
int mheight;
ColorPalette pal;
Bitmap img;
BitmapData bitmapData;
Rectangle rect;
byte[] data;
[DllImport("kernel32", EntryPoint = "RtlMoveMemory", ExactSpelling = true, CharSet = CharSet.Ansi, SetLastError = true)]
private static extern void CopyMemory(int Destination, int Source, int Length);
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int[] ptr = new int[2];
int i;
Random randObj = new Random() ;
for (i = 0; i <= data.GetUpperBound(0); i++)
{
data[i] = (byte)(randObj.Next(256));
}
bitmapData = img.LockBits(rect, ImageLockMode.WriteOnly, PixelFormat.Format8bppIndexed);
ptr[0] = bitmapData.Scan0.ToInt32();
ptr[1] = VarPtr(data);
CopyMemory(ptr[0], ptr[1], mwidth * mheight);
img.UnlockBits(bitmapData);
//img.RotateFlip(RotateFlipType.RotateNoneFlipX)
pictureBox1.Image = img;
}
private void Form1_Load(object sender, EventArgs e)
{
int i;
int Alpha;
pictureBox1.BackColor = Color.Black;
mwidth = 3324 & 0xFFFC;
mheight = 2504;
data = new byte[mwidth * mheight - 1 + 1];
img = new Bitmap(mwidth, mheight, PixelFormat.Format8bppIndexed);
pal = img.Palette;
Alpha = 255;
for (i = 0; i <= 255; i++)
{
pal.Entries[i] = Color.FromArgb(Alpha, i, i, i);
}
img.Palette = pal;
rect = new Rectangle(0, 0, mwidth, mheight);
}
private int VarPtr(object obj)
{
int returnValue;
GCHandle GC = GCHandle.Alloc(obj, GCHandleType.Pinned);
returnValue = GC.AddrOfPinnedObject().ToInt32();
GC.Free();
return returnValue;
}
}
}
- BitMap 如何秀出 Byte 陣列資料(C#)
- Bitmap 如何秀出 Byte 陣列資料範例二
- 如何将YUV的byte数组转换为bitmap
- [C#] Byte[]、Image、Bitmap 之间的相互转换
- [C#] Byte[]、Image、Bitmap 之间的相互转换
- [C#] Byte[]、Image、Bitmap 之间的相互转换
- [C#] Byte[]、Image、Bitmap 之间的相互转换
- [C#] Byte[]、Image、Bitmap 之间的相互转换
- 【C#/WPF】Bitmap、BitmapImage、ImageSource 、byte[]转换问题
- Android中如何将Bitmap byte裸数据转换成Bitmap图片int数据
- Byte[] Bitmap 转化
- Android:Bitmap->Drawble->Byte[]
- Bitmap , BitmapDrawable ,Drawable,byte[]
- android bitmap drawable byte[]
- Bitmap转换成byte[]
- Bitmap , BitmapDrawable ,Drawable,byte[]
- c# Bitmap byte[]互转
- [C#] 如何把void*转换为byte[]
- OSX: 灵活管理Gatekeeper
- 对大数据处理的存储,排序和计算的一点思考
- Linux线程-互斥锁pthread_mutex_t
- WinPcap 中文技术文档(4.1.2) 第二章
- C# 與 Java 之比較
- BitMap 如何秀出 Byte 陣列資料(C#)
- 读二进制文件
- 对整段内容进行匹配和替换
- 读二进制进std::string
- java class文件解析的几点经验
- Json格式解析
- 307. No living man all things can. 世上没有万事通
- 黑马程序员之ORACLE数据库学习笔记:如何实现连接池及连接池的优缺点
- exe4j_pj的使用