怎么让JPG或BMP格式的背景变透明,麻烦有详细步骤,我是初级学者
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么让JPG或BMP格式的背景变透明,麻烦有详细步骤,我是初级学者相关的知识,希望对你有一定的参考价值。
说的好的追加分,怕我不加分,可以先说一半
我看了有关的答案,说是存成GIF格式,我要的不是这个,是那个,用通道的那个。
二楼的太难了我看不懂。
我是游戏人生玩家,做图上传成里面的物件,官网上是有说用通道的方法,看起来背景是黑的,传上去就不见了的,可是说的太专业了我不懂
透明色就是指在绘制一张图片的时候,该颜色的像素不会被绘制上去,这通常用来做游戏的spirit动画,所以你可以看到各种形状不规则的人物动画。但是他们的数据都是一个矩形的像素区域,只是绘制的时候有些像素不被画上去罢了。
GDI提供一个TransparentBlt()函数来支持Color Key,你可以在MSDN中查到该函数的说明。但是我的代码中使用这个函数后,在Win9X系统下产生了严重的资源泄漏,但是在Win2000下却没事,所以如果你也发现这问题的话,我建议你使用下面的代码,来把一个CBitmap透明的绘制到DC上。假设你有一个CBitmap的派生类 CMyBitmap:
BOOL CMyBitmap::DrawTransparentInPoint(CDC *pdc, int x, int y, COLORREF mask/*要过滤掉的颜色值*/)
file://Quick return
if(pdc->GetSafeHdc()==NULL)
return FALSE;
if (m_hObject == NULL)
return FALSE;
CRect DRect;
DRect=Rect();
DRect.OffsetRect(x,y);
if(!pdc->RectVisible(&DRect))
return FALSE;
COLORREF crOldBack=pdc->SetBkColor(RGB(255,255,255));
COLORREF crOldText=pdc->SetTextColor(RGB(0,0,0));
CDC dcimg,dctrans;
if(dcimg.CreateCompatibleDC(pdc)!=TRUE)
return FALSE;
if(dctrans.CreateCompatibleDC(pdc)!=TRUE)
return FALSE;
CBitmap *oldbmpimg=dcimg.SelectObject(this);
CBitmap bmptrans;
if(bmptrans.CreateBitmap(Width(),Height(),1,1,NULL)!=TRUE)
return FALSE;
CBitmap *oldbmptrans=dctrans.SelectObject(&bmptrans);
dcimg.SetBkColor(mask);
dctrans.BitBlt(0,0,Width(),Height(),&dcimg,0,0,SRCCOPY);
pdc->BitBlt(x,y,Width(),Height(),&dcimg,0,0,SRCINVERT);
pdc->BitBlt(x,y,Width(),Height(),&dctrans,0,0,SRCAND);
pdc->BitBlt(x,y,Width(),Height(),&dcimg,0,0,SRCINVERT);
if(oldbmpimg)
dcimg.SelectObject(oldbmpimg);
if(oldbmptrans)
dctrans.SelectObject(oldbmptrans);
pdc->SetBkColor(crOldBack);
pdc->SetTextColor(crOldText);
return TRUE;
不是用来编程的话可以用png或者gif代替 参考技术A 我记得你新建一个图象的时候,下面就要提示你背景色,你选透明就可以了
http://zhidao.baidu.com/question/13194391.html
我觉得这个答案比较好,你可以看一下,不懂的你直接给我留言就可以了。 其实我也是大二的时候学了的.
http://zhidao.baidu.com/question/3458344.html?fr=qrl&fr2=query本回答被提问者采纳 参考技术B 很遗憾,这两个格式都不支持透明背景。。说清楚你想弄成透明背景的目的,才可以找出适合的格式,,PSD的,GIF的 ,PNG的,用途都不一样。。。。
要通道那个就用TIFF。,。 参考技术C 使用GDI+啊,GDI+包含ARGB
怎么把一个图片背景做成透明的?
我有有张麻烦帮做下……
如图
1、首先打开电脑桌面上的美图秀秀软件,如果没有可以下载一个,然后点鼠标左键点击美化图片,进入下一个步骤。
2、点击美化图片后,会看到下一个对话框,然后用鼠标左键点击打开一张图片,点击会进入一下步,就是找之前打的的图片。
3、点击打进一张图片后,系统会出现一个新的对话框,就是要选择所想抠图的图片的存储位置,例图是存在桌面的,在桌面点击例图,并点击打开。
4、点击打开后,就会看看想抠图的照片了,同时也会看到左侧工具栏里有消除笔、抠图笔,局部变彩色笔,背景虚化笔,这里我们要用抠图笔,点击抠图笔,进入下一步。
5、点击抠图笔后会看一个出现有对话框,有三种抠图方式 ,一是自动抠图,二是手动抠图,三形状扣图,可以根据自己的需要来选择,点击自动抠图进入下一步。
6、点击自动抠图后,会看到左边有自动抠图教程,初次操作者可以先看一下教程,再进行操作,用鼠标从需要抠图的人物图像从上到下划一道,就看到在人物图像的周围有一圈虚线出来,然后点击完成,进入下一步。
7、点击抠图完成后,就会看后面的背景是一个马赛克的背景,这个其实是一个透明背景板,如果想要白色的背景或其他颜色的背景,也可以在右侧工具栏设置。
8、点击右上方的保存与分享,会出现一个对话框,上面可以选择保存的位置和文件名以及要保存的位置 ,选择好后,点击保存就可以了。
参考技术A1、利用PS(Photoshop)打开待处理的图片,如图所示:
2、打开“图层”面板,点击“创建新图层”按钮,以创建一个透明图层,并将该图层放置在图层0的最下方,如图:
3、如果所创建的图标不是透明背景,则可以在选中所创建的图层情况下,点击“编辑”->“清除”项,将当前转换成透明。
4、接下来选中图像所在图层,利用工具箱中的“魔棒工具”,将图像中不需要的部分进行大概选中。
5、然后按键盘上的“Delete”键将选中部分删除掉,按“Ctrl+D”取消选区,此时效果如图:
6、利用“橡皮擦”工具对所抠图部分进行细化,将其中不需要的部分擦去。
7、最后将图片以“PNG”格式进行保存。点击“文件”-“存储为Web及所有格式”项,并在弹出的窗口中将保存类似设置为“PNG”格式,点击“存储”按钮即可。
参考技术B 步骤1:先把图抠出来,也就是去掉白底(钢笔,魔术棒等工具);步骤2:点击菜单栏上“文件 > 存储为web使用格式”,出现一个预览界面,把图片格式选为“PNG”后,会出现一个透明度的复选框,把那个勾上,保存之后就可以了。 参考技术C
双击把背景变成图层再进行魔术棒操作。 看看这个做的行不?
参考技术D用通道抠图效果更好
本回答被提问者采纳以上是关于怎么让JPG或BMP格式的背景变透明,麻烦有详细步骤,我是初级学者的主要内容,如果未能解决你的问题,请参考以下文章