c#中如何将给bitmap附数据

c#中如何将给bitmap附数据,第1张

在 C 语言中,可以使用结构体来表示 Bitmap,其中结构体中的成员变量可以表示 Bitmap 的属性,如宽度、高度、位数、每行字节数等。为 Bitmap 附加数据的方式,通常可以采用以下两种方法:

将 Bitmap 数据与结构体一起打包存储

可以在结构体中添加一个指向数据区域的指针,将 Bitmap 数据与结构体一起打包存储。在读取 Bitmap 数据时,先读取结构体,然后再通过指针读取数据区域中的具体数据。

例如,下面是一个简单的 Bitmap 结构体定义:

cCopy code

typedef struct {

int width;

int height;

int bits_per_pixel;

int bytes_per_line;

char data;

} Bitmap;

可以在调用函数或者使用指针 *** 作等方式时,将 Bitmap 数据附加到该结构体的 data 成员上。

将 Bitmap 数据存储在文件中

可以将 Bitmap 数据保存在一个文件中,并在结构体中添加一个成员变量用来存储该文件名。在读取 Bitmap 数据时,先读取结构体,然后再打开文件,读取文件中的数据。

例如,下面是一个简单的带文件名的 Bitmap 结构体定义:

cCopy code

typedef struct {

int width;

int height;

int bits_per_pixel;

int bytes_per_line;

char filename[256];

} Bitmap;

在调用函数或者使用指针 *** 作等方式时,可以将 Bitmap 数据存储到文件中,并将文件名附加到该结构体的 filename 成员上。

需要注意的是,在使用以上方法时,需要确保 Bitmap 数据的正确性和完整性,并遵循 Bitmap 的格式规范。同时也需要根据实际情况选择合适的方法和技术来附加 Bitmap 数据。

BITMAP bmp;

int bmp_width;

int bmp_height;

if(GetObject(hBmp,sizeof(BITMAP),(LPSTR)&bmp))

{

bmp_width=bmpbmWidth;

bmp_height=bmpbmHeight;

}

如果是ViewGroup控件,就递归计算子控件的大小,把所有子控件的值相加。

如果是是View,这个取决于你的onMeasure(int width,int height)方法,其里面有个setMeasuredDimension(int width,int height)就是最终定下大小的方法,在调用这个方法前,View会调用getDefaultSize(int size ,int widthMeasureSpec);它会根据父控件给与的空间 和自身需要最小控件的值比较选取最小的, 只是View是默认的方法,也就是 你给它多少 它就要多少,它不会说wrap_content就会出个值,你给他300,他就300,你给他wrap_content,因为在relativeLayout所以空间充足,其大小直接是屏幕的width。

你重写View时,可以在onMeasure()中

记录 thisgetMeasuredWidth()和thisgetMeasuredHeight()2个值,

如果你要画一张填满的图

要么用ImageView scaleType为FIT_XY

或者自定义的:

src=new Rect(0,0,bmpgetWidth(),bmpgetHeight());

dst=new Rect(0,0,thisgetMeasuredWidth(),thisgetMeasuredHeight());

自定View就是用canvasdrawBitmap(bmp,src,dst,null);

一般来说一个点被精确的认定为1/72英寸,在WPF中,采用的设备无关单位即1/96英寸

所以程序中获取的大小 比真实的大小要大一点, 获取到大小后进行相应的转换即可获得原来的尺寸 如: height=height72/96

以上就是关于c#中如何将给bitmap附数据全部的内容,包括:c#中如何将给bitmap附数据、C++ 获取图片宽高、自定义控件的时候怎么获得宽高等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9315153.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存