텍스트에 흐릿하거나 빛나는 효과를 줄 수있는 방법이 있습니까? 또는 레이어의 그래픽 컨텍스트를 가져와 픽셀에 가우스 알고리즘을 적용해야합니까? 나는 이것에 대한 문서를 검색했지만 그 그림자가 흐리게 그려지지 않는 NSString, UIFont 또는 UILabel에 그 일을하는 데 도움이 될 방법이 없다는 것을 알 수 있습니다.UILabel의 텍스트를 흐리게 표시하는 방법은 무엇입니까?
답변
안티 앨리어싱을 제외하면 UILabel
은 텍스트 또는 그림자를 흐리게 처리하지 않습니다. 수동으로 코드를 작성해야합니다.
Photoshop 또는 다른 이미지 편집기를 사용하여 선명하고 흐린 오버레이를 만듭니다. PNG로 저장하십시오. 이 PNG를 UIImageview에로드하고 UILabel 위에 그립니다. 효과를 변경하려면 알파를 조정하십시오.
특수 UILabel 하위 클래스를 만들어 여러 가지 흐림 정도를 처리 할 수도 있습니다.
err ..... 그렇게하지 않을 것입니다. Blurness는 픽셀 단위의 오버레이가 아닙니다. Blurryness는 실제로 2d 플랫 영역의 특정 반경 주위의 픽셀을 보간하므로 이미지 오버레이로는 수행 할 수 없습니다. 물론 PS에서 흐림 효과를 만들 수는 있지만 동적이 아닙니다. 내용을 약간 변경하면 흐림이 잘못 될 수 있습니다. –
"흐림"이란 물건이 날카 로워지는 효과를 의미합니다. 미안하지만, 내 나쁜 영어. 내 말은 : 날카로운 것의 반대 (당신이 정말로 큰 안경이 필요하지만 그 안경을 갖지 않을 때). –
CGContextSetShadowWithColor
은 희미한 텍스트를 그리는 데 사용할 수 있습니다. 이 느릴 수 있습니다, 그것은 버퍼에 그리는 그를 다시 사용하는 것이 좋습니다 :
UIFont *font = [UIFont systemFontOfSize:18.0f];
UIGraphicsBeginImageContext(CGSizeMake(200.0f, 50.0f));
CGContextSetShadowWithColor(UIGraphicsGetCurrentContext(), CGSizeMake(0.0f, -500.0f), 2.0f, [[UIColor blackColor] CGColor]);
[@"Blurred Text!" drawAtPoint:CGPointMake(5.0f, -500.0f) withFont:font];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[imageView setImage:image];
올드 답 : 간단한 옵션은 텍스트를 여러 번을 그리고 X/Y 좌표를 상쇄하는 것입니다 매번 1 씩. 속도를 높이려면 오프 스크린 버퍼에 캐시 할 수 있습니다.
좋은 소리. 그 오프 스크린 버퍼는 어떻게 생겼을까요? 이론 상으로는 무엇입니까? CG 그래픽 컨텍스트? –
모서리 중 2 개가이 기법으로 많은 흐려짐을 보지 못하거나 두 가지가 섞여 있지만 두 모서리에는 항상 누락 픽셀이 있기 때문에 꽤 더러워 보입니다. 어쩌면 변환에 적용된 스케일링이 있습니까? –
나는 나의 대답의 내용을 훨씬 더 나은 방법으로 바꿨다. – rpetrich
의도적으로 반 픽셀에 레이블을 배치하면 흐릿한 효과가 나타납니다. 당신은 그 위에 많은 제어가되지 않습니다,하지만 흐릿하게 보일 것 : 잘 모르겠어요
UILabel *labelOnWholePixel = [[UILabel alloc]
initWithFrame:CGRectMake(20.0f, 20.0f, 280.0f, 25.0f)];
[labelOnWholePixel setText:@"Whole Pixel"];
[labelOnWholePixel setBackgroundColor:[UIColor clearColor]];
UILabel *labelOnHalfPixel = [[UILabel alloc]
initWithFrame:CGRectMake(20.5f, 50.5f, 280.0f, 25.0f)];
[labelOnHalfPixel setText:@"Half Pixel"];
[labelOnHalfPixel setBackgroundColor:[UIColor clearColor]];
[[self view] addSubview:labelOnWholePixel];
[[self view] addSubview:labelOnHalfPixel];
을하지만, 나에게 나타납니다 가까이 당신이 어느 방향에서 정수에 그것을 선명 도착하면, 당신은 그것을 조금 통제 할 수 있습니다.
감사합니다 매트, 흥미로운 "안티 앨리어싱"효과입니다. 0.5는 가장 좋은 값입니다. 불행히도 그 흐릿함은 0.5 픽셀 주위에 퍼져 있으며 빛나는 효과에는 충분하지 않습니다. –
- 1. ListBox에 텍스트를 표시하는 방법은 무엇입니까?
- 2. 텍스트 필드에 UIlabel의 텍스트를 할당
- 3. 다운로드하는 동안 이미지를 흐리게 표시하는 방법은 무엇입니까? (페이스 북처럼)
- 4. UILabel의
- 5. UILabel의 값을 인스턴스 변수에 바인딩하는 방법은 무엇입니까?
- 6. 텍스트를 표시하는 가장 좋은 방법은 무엇입니까?
- 7. 버튼에 텍스트를 표시하는 올바른 방법은 무엇입니까?
- 8. 여러 줄에 텍스트를 표시하는 방법은 무엇입니까?
- 9. JTextArea의 일부에만 굵은 텍스트를 표시하는 방법은 무엇입니까?
- 10. 레이블을 업데이트하여 새 텍스트를 표시하는 방법은 무엇입니까?
- 11. TDBGrid에 서식있는 텍스트를 표시하는 방법은 무엇입니까?
- 12. UITextView에서 텍스트를 굵게 표시하는 방법은 무엇입니까?
- 13. TextArea에서 계약 텍스트를 표시하는 방법은 무엇입니까?
- 14. DataGrid에서 텍스트를 굵게 표시하는 방법은 무엇입니까?
- 15. iPhone에서 Quartz를 사용하여 텍스트를 표시하는 방법은 무엇입니까?
- 16. View-MVC에 텍스트를 표시하는 효율적인 방법은 무엇입니까
- 17. JPanel에서 파일의 텍스트를 표시하는 방법은 무엇입니까?
- 18. gtk.MenuItem 레이블에 서식있는 텍스트를 표시하는 방법은 무엇입니까?
- 19. UINavigationController에서 UILabel의 텍스트를 표시 할 수 없습니다.
- 20. 세 가지 라인의 UILabel의 텍스트를 표시하려고 Mutliline
- 21. viewDidLoad()에서 UILabel의 텍스트를 프로그래밍 방식으로 변경하십시오.
- 22. 따옴표로 UILabel의 텍스트를 줄 바꿈 하시겠습니까?
- 23. UILabel의 텍스트를 글꼴 크기를 줄이려면 어떻게해야합니까?
- 24. UILabel의 textColor에 애니메이션을 적용하는 방법은 무엇입니까?
- 25. UILabel의 번호 변경 애니메이션
- 26. iPhone보기에서 흐린 텍스트를 만드는 방법은 무엇입니까?
- 27. UILabel의 내부 그림자
- 28. 탐색기 : pasteHTML 메소드를 사용한 후 텍스트를 강조 표시하는 방법은 무엇입니까?
- 29. 안드로이드의 URL 섹션에 EditText의 텍스트를 표시하는 방법은 무엇입니까?
- 30. 웹 사이트에서 일반 텍스트를 복사하여 android의 위젯에 표시하는 방법은 무엇입니까?
어떻게 이론적으로 보입니까? 그래픽 컨텍스트의 복사본을 가져 와서 gauss 알고리즘을 적용한 다음이를 다시 레이어에 할당할까요? –
당신은 아마도 UILabel이 그려야하는 임시 컨텍스트를 생성 한 다음 그 drawRect 루틴을 호출하여 오프 스크린 버퍼에 자신을 그리기를 원할 것입니다. 그런 다음 그 버퍼의 UIImage를 가져 와서 흐리게 처리합니다. 오프 스크린 버퍼 API는 여기를 참조하십시오. http://stackoverflow.com/questions/1315251/how-to-rotate-a-imimage-90-degrees/1317194#1317194 – fbrereto
감사. 그 그래픽 컨텍스트에서 일부 가우스 알고리즘을 적용하고 다시 그려야합니다. 맞습니까? –