2016-11-15 7 views
2

예, 알고 싶은 다른 게시물이 있지만 그 대답을 시도했지만 작동하지 않아 방금 더 악화되었습니다.pygame.display.set_icon() 투명도가 너무 좋지 않음

PyGame: Applying transparency to an image with alpha?

Pygame.display.set_icon unable to show transparecy

How do I set a transparent icon?

그리고 투명성이 그들보다 훨씬 달랐다 사용하려고 시도에서 내 결과 : 여기에 모든 I 해봤 게시물입니다.

import pygame 

pygame.init() 

screen = pygame.display.set_mode((800,600)) 
pygame.display.set_caption("Undertale") 
pygame.display.set_icon(pygame.image.load("icon.png").convert_alpha()) 

을 여기 결과입니다 : 여기 내 코드는

enter image description here

어떤 도움 :

여기

enter image description here

원본 이미지입니까?

편집 :

위 감안할 때, 내 제안 투명성없이 흰색 배경으로 32 × 32 픽셀의 마음을 리메이크 시도하고 컬러 키를 적용하는 것입니다 : 나는 user2588654 @ 말을했다. 이게 도움이되는지 알려주세요! 결과 여기

enter image description here

그리고있다 :

enter image description here

다음
import pygame 

pygame.init() 

screen = pygame.display.set_mode((800,600)) 
pygame.display.set_caption("Undertale") 
icon = pygame.image.load("icon.png") 
icon.set_colorkey((0,255,0)) 
pygame.display.set_icon(icon) 

새로운 icon.png입니다 :

그리고 여기 내 코드입니다

많은 것은 아니지만 조금 성가시다. 고칠 수 없다면 괜찮습니다. 그렇다면 그 사실을 알고 싶습니다.

+0

[ "PyGame : 알파가 포함 된 이미지에 투명도 적용?"] (http://stackoverflow.com/questions/12879225/pygame-applying-transparency-to-an-image-with-alpha)와 중복 될 수 있습니다. –

+1

그건 내가 게시물에서 언급 한 것입니다. 나는 그것을보고 작동하지 않았다 ... – DePianoman

+0

좋아, 질문을 편집하고 해당 게시물에 대한 링크를 추가 할 수 있습니까? –

답변

1

코드는 문제가 없습니다. 테스트 심 이미지로 실행했을 때 명령 프롬프트에 다음과 같은 테스트 경고가 나타납니다 : libpng warning: iCCP: known incorrect sRGB profile. here의 조언에 따라 이미지 magick을 사용하여 변환했는데 오류가 없어졌지만 여전히 스크린 샷처럼 보였으므로 이는별로 중요하지 않습니다. 대부분의 시스템이 32 × 32 픽셀 주위에 작은 이미지를 원하는처럼

pygame.display.set_icon()here에 파이 게임 문서에 따르면, 그것은 보인다. 그 크기로 이미지 크기를 조정하면 이미지에있는 대부분의 아티팩트가 제거되었지만 마음이 20x20 픽셀 주위의 픽셀 아트이므로 이상적이지 않습니다. 또한, 파이 게임 의 아이콘처럼 보이는 것은 완전한 투명도을 지원하지 않고 컬러 키 만 지원합니다. 즉, 을 호출하여 완전히 투명하게 설정할 색을 선택합니다. 여기에서 다음에 surf은 아이콘 이미지 표면을 나타냅니다. 예제에서 튜플 (255, 255, 255)은 흰색을 나타냅니다.

위의 내용을 감안할 때, 제 제안은 투명성이없는 흰색 배경의 32x32 픽셀에서 심장을 재구성하고 컬러 키를 적용하는 것입니다. 이게 도움이되는지 알려주세요!

+0

도움이되었지만 여전히 조금 이상합니다. 내 게시물에 말했듯이, 아무런 문제가 없다면 괜찮습니다. 그렇다면, 제발 알고 싶습니다. – DePianoman

+0

질문에서 결과를 보면 파이 게임 (pygame)은 인접한 픽셀의 RGB 값을 선형 적으로 보간하여 검은 색 점으로 나타나는 것처럼 보입니다. 설명서를 살펴본 후에 불행하게도이를 비활성화하는 방법을 모르겠습니다. – CodeSurgeon

+0

문제를 완화하는 데 사용할 수있는 한 가지 생각은 마음의 경계를 따라 진한 빨간색 픽셀을 추가하여 그림에 "안티 앨리어싱"을 추가하는 것입니다. 여전히 문제를 해결하지는 못하지만 큰 검은 픽셀은 약간 덜 분명합니다. 이것은 실제로 실망 스럽습니다 ... – CodeSurgeon