2013-05-10 3 views
-4

현재 이미지가 특정 크기인지 아닌지를 확인하는 기능을 사용하고 있습니다. 그렇다면 이미지를 jpeg로 변환합니다 (예 : 큰 png 일 경우 jpeg로 변환).이미지가 투명한지 확인하십시오.

투명성을 검사 할 수있는 C# 함수가 있는지 궁금합니다. 이미지가 투명하면 투명하게 유지하고 변환하지 마십시오.

올바른 방향으로 도움을 청할 수 있습니다. 감사!

+2

일부 소스 코드를 보여주세요 ... 당신은 무엇을 시도? 작동하지 않는 것은 무엇입니까? – Yahia

+2

여기에 같은 질문에 대한 또 다른 대답이 있습니다 -> http://stackoverflow.com/questions/2569538/detecting-if-a-png-image-file-is-a-transparent-image - 그 빠른 아니지만 .. – Darren

+1

[ImageResizer] (http://imageresizing.net/)를 사용하십시오. 나는 이것을 최근에 사용하기 시작했고, resizer/cropper 함수를 다시 쓰지 않을 것이다. (여전히 나의 오래된 함수를 단계적으로 제거하는 과정에있다.) 그것은 굉장. – MikeSmithDev

답변

1

내가 테스트하지 않은,하지만 어쩌면이 코드가 작동합니다

System.Drawing.Image myImage; //Set source from image here 
System.Drawing.Bitmap myBitmap = new System.Drawing.Bitmap(myImage); 

for (xPixel = 0; xPixel <= (myBitmap.Width - 1); xPixel++) { 
    for (yPixel = 0; yPixel <= (myBitmap.Height - 1); yPixel++) { 
     if (myBitmap.GetPixel(xPixel, yPixel) == Drawing.Color.Transparent) { 
      // Image contains transparency 
     } 
    } 
} 
+0

답변 해 주셔서 감사합니다. 나는 일하게 될 때 J. Hudler와 MikeSmith의 제안을 월요일에 확실히 시도 할 것이다. 나는 또한 제공된 링크를 확인했다. 답장을 보내 주셔서 감사합니다. 시험을 치르면 "투표"를 할 것입니다. – jamez14

+0

이것은 매우 느립니다! – bitbonk

+0

부분 투명도도 감지하지 않습니다. 색상의 알파 구성 요소가 255보다 작은 지 확인해야합니다. 단일 명령으로 이미지에 알파 채널이 있는지 여부를 미리 확인할 수 있습니다. – Nyerguds

관련 문제