在 VC++ 中,可以使用 MFC 库提供的 CImage 类来判断是否为空白以及读取当前大小。
判断是否为空白
要判断一张是否为空白,可以使用 CImage 类的 GetSize() 方法获取的大小,然后遍历的每个像素点,判断像素点的 RGB 值是否为 255(即白色)。如果所有像素点的 RGB 值都为 255,则说明该为空白。
示例代码如下:
CImage image;
imageLoad(_T("testjpg")); // 加载
// 获取大小
int width = imageGetWidth();
int height = imageGetHeight();
bool isBlank = true; // 是否为空白
// 遍历每个像素点
for (int i = 0; i < width; i++) {
for (int j = 0; j < height; j++) {
// 获取像素点的 RGB 值
COLORREF color = imageGetPixel(i, j);
int r = GetRValue(color);
int g = GetGValue(color);
int b = GetBValue(color);
// 判断像素点的 RGB 值是否为白色
if (r != 255 || g != 255 || b != 255) {
isBlank = false;
break;
}
}
if (!isBlank) {
break;
}
}
if (isBlank) {
// 空白
}
else {
// 非空白
}
上述代码中,我们首先使用 CImage 类的 Load() 方法加载了一张,然后使用 GetSize() 方法获取了的大小。接着,我们使用双重循环遍历了的每个像素点,并判断像素点的 RGB 值是否为白色。如果所有像素点的 RGB 值都为白色,则将 isBlank 标记为 true,否则将其标记为 false。最后,根据 isBlank 的值来判断是否为空白。
需要注意的是,这种判断方式并不是非常准确,因为有可能存在非常浅的颜色(比如灰色)或者透明度不为 0 的像素点。因此,判断是否为空白需要根据具体的应用场景进行具体分析和处理。
读取当前大小
要读取一张的大小(即占用硬盘容量大小),可以使用 CImage 类的 GetFileSize() 方法获取。该方法返回的是占用硬盘容量大小(单位为字节),需要将其转换为 KB 才能表示为人类可读的格式。
示例代码如下:
CImage image;
imageLoad(_T("testjpg")); // 加载
// 获取大小(单位为字节)
int fileSize = imageGetFileSize();
// 转换为 KB
double fileSizeKB = fileSize / 10240;
// 输出大小(保留两位小数)
printf("The size of the image is %2f KB\n", fileSizeKB);
PS 弄这个效果非常简单,什么神马都不会影响到
在PS里,你只要按照原片比例放大裁切框,背景色是白色,就是这个效果了的,,反之反 *** 作一次就恢复到了原来的效果了。去试试吧,和容易的
fangfang
function correctPNG()
{
for(var i=0; i<documentimageslength; i++)
{
var img = documentimages[i]
var imgName = imgsrctoUpperCase()
if (imgNamesubstring(imgNamelength-3, imgNamelength) == "PNG")
{
var imgID = (imgid) "id='" + imgid + "' " : ""
var imgClass = (imgclassName) "class='" + imgclassName + "' " : ""
var imgTitle = (imgtitle) "title='" + imgtitle + "' " : "title='" + imgalt + "' "
var imgStyle = "display:inline-block;" + imgstylecssText
if (imgalign == "left") imgStyle = "float:left;" + imgStyle
if (imgalign == "right") imgStyle = "float:right;" + imgStyle
if (imgparentElementhref) imgStyle = "cursor:hand;" + imgStyle
var strNewHTML = "<span " + imgID + imgClass + imgTitle
+ " style=\"" + "width:" + imgwidth + "px; height:" + imgheight + "px;" + imgStyle + ";"
+ "filter:progid:DXImageTransformMicrosoftAlphaImageLoader"
+ "(src=\'" + imgsrc + "\', sizingMethod='scale');\"></span>"
imgouterHTML = strNewHTML
i = i-1
};
};
};
if(navigatoruserAgentindexOf("MSIE")>-1)
{
windowattachEvent("onload", correctPNG);
};
搞定
PS新建了个空白5M,怎么保存成jpg格式后就只有20K了!
嗯,jpg格式的是牺牲质量换取更大的压缩空间, 换种格式吧,个人推荐用这种tiff这种格式
为什么用PS新建空白后保存格式有限三种办法
1、将鼠标在左侧的工具栏上点一下“拖动”图标,然后“文件”再“另存为”
2、“文件”-“存储为web所用格式”
3、ps程序问题,重装ps安装程序
新建立PS空白如何保存为bmp你的制作好后点击文件下的另存为,选择保存格式为BMP就可以了。第二个就是BMP格式的。
怎么把word中的保存成jpg格式选中文档中的,将从文档拉到桌面,会出现 Activd Desk的提示:要将这些项目添加到 Activd Desk中,需要保存的副本,是否继续? 点击 是 出现另存为对话框,在文件名后加上JPG 再保存,就可以了。希望能帮到你 。
怎样把wodr保存成JPG格式的?呵呵 装个PS 直接 打开 WODR文档 然后 复制 在 PS里 直接建个新的图层 直接粘贴 就OK 保存 JPEG 格式 很方便的 ·
ps后的为什么不能保存成jpg格式啊
把PhotoShop的颜色模式改为8位以下就行了, 菜单 模式 调整 如果实在不行存成其它格式,可以用acdsee等软件转换 到您需要的格式
右键新建里有一项bmp图像,新建了一个bmp图像是空白的,怎么使用这种空白?bmp图像是WINDOWS画图程序的格式,叫做位图文件,因为色彩表现力丰富所以文件一般来说比较大,当放大以后图像会虚化,并且显示出像素点,通常称做马赛克,JPEG格式的文件放大也会出现同样的情况,因为此类文件是有损压缩格式文件,一些关于颜色信息的关联信息但无损颜色的一般表现,所以文件一般就比较小,所以在网上通常会见到JPEG格式,而很少见到BMP,主要就是因为文件大小的原因。以上的说明供你参考
ps中怎样保存成JPG格式在菜单栏选择- 文件(file)- 目标另存为(save as)- 在d出的窗口最后一行的格式(format)中选择jpeg格式
用PS做了个,存成JPG格式,然后就打不开了怎么回事你把它保存成桌面了吗?
Adobe Photoshop CS 80做完怎么保存成JPG格式的另保存的时候在格式里选
额。。。你制作的外面还有东西,所以造成的尺寸过大。试着把设计的图案放在画板上,然后导出jpg的时候选择画板。或者用轮廓模式检视一下有没有漏下的东西没有删掉,把它删了导出也可以。
以上就是关于VC++如何判断图片是否为空白图片以及读取当前图片大小全部的内容,包括:VC++如何判断图片是否为空白图片以及读取当前图片大小、照片两边是空白的,这是怎么弄得、给我一张透明的空白图片 不要告诉我做法 直接给我!!急急急!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)