아래 소스는 비트맵 이미지를 만들고 배경색을 투명으로 채운다음 그 위에 글자를 적어 저장하는것입니다.
이렇게 GIF 파일을 만들면 모두 검게 나옵니다. 저 초록색 글자의 옵션으로 인한건가 해서 여러가지로 바꾸어보았지만 잘 안되더군요.
PixelFormat.Alpha 바꾸었을 경우엔 런타임 에러가 나구요.
어제 하루종일해서 진이 빠졌어요.. --;
검은 색을 어떻게 투명으로 바꿀수 있을까요.. ㅠ_ㅠ
Bitmap objBitmap = new Bitmap(width,height,PixelFormat.Format64bppArgb);
Graphics grp = Graphics.FromImage(objBitmap);
grp.Clear(Color.Transparent);
SolidBrush objb = new SolidBrush(Color.Black);
grp.DrawString(글자,new Font("tahoma",8),objb,3,1,StringFormat.GenericDefault);
objBitmap.Save(파일이름,ImageFormat.Gif);
objBitmap.Dispose();
첫댓글 고생하셨어요 ^^
아뇨 안되서 물어보는거였어요.. ㅠ.ㅠ
배경은 하얗고 글자는 검은색이 나오는 데요 문제가 머죠?
objBitmap.Save(파일이름,ImageFormat.Gif); ---> objBitmap.Save("파일이름.gif"); 두번째 매개변수는 encoder설정부분입니다 도움이 되셧으면 좋겟습니다 encoder설정이 필요하신건가요?
답변 감사드립니다. msn 주소가 있어 전에 덧글은 삭제하였습니다. 그 부분은 encoder 설정도 되지만, imageFormat도 있기때문에 그쪽을 지정해준것이구요. 말씀하신대로 하면 이전처럼 검은 배경은 없어지나, 파일 형식이 Gif가 아닌듯 합니다.
해당 파일을 바로 IE에다가 끌어 놓으면 X표시만 나고 포토샵으로 열면 에러가 나면서 열리지가 않습니다. 그림판으로는 열리구요. 태그를 넣어 IE로 보면 이미지는 보이는데 png의 경우처럼 투명지정부분이 회색으로 보이게 됩니다. 아고. 어렵네요..
grp.Clear(Color.Transparent);이 부분이 잘못 된것 같아요 grp.Clear(Color.White); 글자가 나오내요 이부분을 잘 바꿔 보세요
앗 답변글이 있었네요~ 저도 저부분도 여러가지로 수정해보고, Bitmap 클래스의 MakeTransprent도 사용해보고 여러가지를 해봤지만, 계속 검게 나오더라구요..
grp.Clear(Color.White);하면 흰바탕에 글자가나오긴 하는데 원하시는 글자가아닌가보죠?그럼 color.white대신에 원하시는 색을 넣으시면 안되는 건가요?
전 투명바탕을 원하는거라.... Color.Transparent 이 녀석이 투명인데.. 이게 안먹으니... 글자가 사용될 배경이 그라데이션이 들어가서 색을 넣으면 안됩니다. 그냥 png로 하는쪽으로 기울고 있네요.
덧글 하나 지웁니다..