나는 아무 데나 쓸모없는 곳을 둘러 보았다. 스레드에서 일부 이미지 로딩을하고 UIKit이 스레드 안전하지 않기 때문에 CGImageRefs로 이미지를 저장해야하지만이 작업을 수행하는 방법을 알 수는 없습니다. 나는 그것이 나를 혼란스럽게하기 전에 어떤 석영 재료와도 연주하지 않았다. 기본적으로 디스크에서 JPG를 CGImageRef로로드하면됩니다. 또한 보너스 포인트를 위해 CGImageRef에 GIF를로드 할 수 있습니까?디스크의 이미지에서 정확하게 CGImageRef를 만드는 방법
6
A
답변
28
gcamp이 더 많거나 적은 정확, 당신은 백그라운드 스레드에서 이것을 사용하지만, 귀하의 질문에 대답하기 매우 안전합니다, 나는 다음과 같은 작업 것입니다 생각합니다.
CGDataProviderRef dataProvider = CGDataProviderCreateWithFilename("file");
CGImageRef image = CGImageCreateWithPNGDataProvider(dataProvider, NULL, NO, kCGRenderingIntentDefault);
JPG 이미지, CGImageCreateWithJPEGDataProvider
하는 기능도 있습니다
8
가장 간단한 방법은 UIKit을 사용하고 CGImage
적절성 UIImage
을 사용하는 것입니다. 그런
뭔가 :
UIImage* image = [UIImage imageNamed:@"Your Image.png"];
CGImageRef imageRef = image.CGImage;
관련 문제
- 1. http 이미지에서 System.Drawing.Image를 만드는 방법
- 2. 어떻게 CGImageRef를 CGDataProviderRef로 변환합니까?
- 3. 바둑판 식 이미지에서 AnimationDrawable을 동적으로 만드는 방법
- 4. 파일에서 CGImageRef를 얻으려면 어떻게해야합니까?
- 5. NSDictionary에 CGImageRef를 추가하는 방법은 무엇입니까?
- 6. 이미지에서 모양을 찾는 방법
- 7. 이미지에서 URL 찾기하는 방법
- 8. CMake 대상 간의 의존성을 정확하게 만드는 법
- 9. JPEG 이미지에서 무손실 방식으로 피라미드 타일 된 TIFF를 만드는 방법
- 10. 투명한 이미지에서 이미지를 만드는 방법은 색상을 mangles?
- 11. 이미지에서 색상 선택 도구를 만드는 방법은 무엇입니까?
- 12. 값을 필드에 정확하게 할당하는 방법
- 13. 안드로이드의 이미지에서 픽셀의 rgb 값을 얻는 방법
- 14. 이미지에서 단일 색상을 분리하는 방법
- 15. MATLAB : 이미지에서 원을 자르는 방법
- 16. 이미지에서 사람과 배경을 분리하는 방법
- 17. WIC 이미지에서 픽셀을 읽는 방법
- 18. 디스크의 모든 파티션 나열
- 19. 디스크의 파일에 System.Xml.XmlElement 쓰기
- 20. NSManagedObject에서 디스크의 파일 참조
- 21. 특정 디스크의 파일 열기
- 22. 디스크의 ID를 얻으려면 어떻게해야합니까?
- 23. Python에서 PyObjC를 사용하여 CGImageRef를 다시 해석하십시오.
- 24. 이미지에서 브러시로 채우기 경로를 채우는 방법
- 25. 자바를 사용하여 이미지에서 흰색 직사각형을 제거하는 방법
- 26. 이미지에서 거리를 측정하려면 어떻게합니까?
- 27. PHP로 이미지에서 텍스트 읽기
- 28. 정확하게 동작 스크립트 위젯에서 리퍼러를 얻는 방법
- 29. 정확하게 다른 그림을 하나의 파일에 삽입하는 방법
- 30. 파인더를 objective-c로 정확하게 정렬하는 방법
자 (완료되면 데이터 공급자 및 이미지를 해제해야합니다)하지만 요점은,이 스레드에서 어떤 일이 일어나고되고 UIKit는 스레드로부터 안전하지 않습니다. 그렇지 않으면 나는 UIImage를 돌려 보낼 것이다. 파일에서 이미지를 읽고 직접 CGImageRef를 만들 수 있어야합니다. – Alexander
불행히도 O.P.는 맞습니다. Apple은 "모든 UIKit 객체는 주 스레드에서만 사용해야합니다."라고 말합니다. –
내가 실수하지 않으면 UI 업데이트가 주 스레드에서 수행되어야합니다. UIKit의 다른 부분은 실제로 스레드로부터 안전합니다. – gcamp