program tip

Xcode 6은 VECTOR 이미지 자산을 허용합니다. 어떻게 사용합니까?

radiobox 2020. 10. 27. 08:01
반응형

Xcode 6은 VECTOR 이미지 자산을 허용합니다. 어떻게 사용합니까?


매우 흥미로운 것을 발견했을 때 Xcode 6 대 이미지 자산을 다루고있었습니다. 이제 벡터 이미지를 지정할 수 있습니다 (Image.xcassets를 선택한 후 유틸리티 창에서 확인).

.SVG 이미지 (작동하지 않음)가있는 작은 앱 (큰 UIImageView 포함)을 시도한 다음 .EPS (도 작동하지 않음)를 시도했고 마침내 .PDF를 시도했습니다. 글쎄, 이미지를 보았지만 픽셀 화되고 벡터화되지 않은 것처럼 보였습니다.

그래서 애플은 벡터 아이콘 / 이미지를위한 길을 준비하고있는 것 같습니다. 더 이상 앱 아이콘의 수 많은 버전, "@ 2x"이미지가 없습니다. 하지만 누구든지 그 기능을 잠금 해제 할 수 있습니까?


다음은 벡터 자산에 대한 몇 가지 실험 후 내 생각입니다.

1. 컴파일 시간 지원

여러 번의 시도 끝에 컴파일 시간 지원이라고 생각합니다. Xcode는 컴파일 타임에 모든 1x, 2x 및 3x 이미지를 생성합니다. 즉, 이전 iOS 버전에서 작동합니다. 동시에 이는 최종 빌드에서 여전히 PNG 형식이며 벡터 파일에서 더 큰 무손실 이미지를 얻을 수 없음을 의미합니다.

2. 왜 SVG 나 다른 형식 대신 PDF

SVG 및 기타 형식의 경우 벡터 이미지에는 실제 크기 정보가 없지만 PDF에는 크기 정보가 있습니다. Xcode 6이하는 일은 PDF의 크기 정보를 실제 디스플레이 크기로 사용한 다음 벡터 이미지에서 2x 3x 파일을 생성하는 것입니다.

PDF의 크기 정보

3. PDF 파일 크기는 중요하지 않습니다.

처음에는 PDF가 PNG보다 훨씬 더 커질 것이라는 우려가 있습니다. 우리는 그것을 압축하기 위해 http://smallpdf.com/시도했고 꽤 잘 작동합니다. 그러나 이전에 말한 것처럼 원본 PDF 파일이 빌드에 포함되어 있지 않으면 PDF의 파일 크기는 중요하지 않습니다.

다른 것을 찾으면이 게시물을 계속 편집합니다.

14-09-25 수정

@mredig는 iOS의 경우 컴파일 타임에 비트 맵을 생성하지만 OSX의 경우 확장 가능한 형식으로 벡터 이미지를 포함한다고 언급했습니다.

통해 : http://martiancraft.com/blog/2014/09/vector-images-xcode6/


Xcode 6의 자산 카탈로그에서 벡터 이미지를 실험하는 방법은 다음과 같습니다.

  1. 새 이미지 세트를 만듭니다.

  2. 이미지 세트에서 빈 이미지 슬롯을 선택하고 속성 관리자의 팝업을 벡터로 전환합니다. 이제 단일 범용 이미지 슬롯이 있습니다.

  3. 벡터 PDF를 해당 슬롯으로 드래그합니다.

이제 이미지가 사용되는 위치에 관계없이이 스크린 샷에 표시된대로 래스터 화없이 컨텍스트 (예 : 고정 크기 이미지보기)에 맞게 크기가 조정됩니다.

여기에 이미지 설명 입력

편집 이 대답에도 불구하고 더 큰 PDF 도면 래스터 화되었습니다. 그러나 이제 https://stackoverflow.com/a/45623000/341994를 참조 하십시오 . Xcode 9에서 벡터 PDF는 래스터 화하지 않고 적절하게 확장됩니다.

편집 Xcode 11에서이 공식은 작동합니다. 자산 카탈로그에서 Scales 팝업 메뉴를 Individual Scales로 설정하고 벡터 기반 이미지를 1x 슬롯에 넣어야합니다. 벡터 데이터 보존을 선택합니다. 끝난.


이 온라인 도구를 사용하여 이미지를 svg에서 pdf로 변환 할 수 있습니다.

http://www.fileformat.info/convert/image/svg2pdf.htm

1- 이미지 업로드

2- 너비 선택 : 24px, 높이 : 24px

3- xcode 프로젝트에 복사

4- Images.xcassets로 이동

5- 마우스 오른쪽 버튼을 클릭하고 새 이미지 세트를 만듭니다.

6- 오른쪽 패널에서 선택 (속성 검사기)

7- 유형을 벡터로 변경

8- PDF 이미지를 드래그 앤 드롭

9- 프로젝트에서 사용


한 가지 팁-@ 2x (myfile@2x.pdf)를 사용하여 PDF @ 2x 해상도 및 파일 이름을 생성하면 iPad 2 및 mini에 특별한 완벽한 선명도 및 대비 이미지를 얻을 수 있습니다. 여기에 이미지 설명 입력


말, 아이콘 또는 앱 로고 유형으로 사용자 지정 글꼴을 만들고 그런 식으로 사용하여 내 앱으로 가져옵니다. 그런 다음 장치의 글꼴 크기와 화면 해상도를 정말 쉽게 조정할 수 있습니다.


"내 iOS 앱에서 벡터 그래픽을 어떻게 사용하고 항상 완벽하게 확장 할 수 있습니까?"라는 질문에 대한 답을 찾고 있다면 ? , https://github.com/mindbrix/UIImage-PDFUIImage+PDF 에서 적극 추천 할 수 있습니다.

나는 이것이 절대적으로 훌륭하게 작동한다고 생각합니다. 모든 이미지를 세 가지 다른 해상도의 PNG 형식으로 만드는 대신 이제 각 이미지에 대한 작은 PDF 파일이 있습니다. 다음과 같이 표시 할 수 있습니다.

// Objective C:
self.icon.image = [UIImage imageWithPDFNamed:@"icon.pdf" fitSize:self.icon.frame.size];

// Swift:
icon.setImage(UIImage(PDFNamed: "icon.pdf", fitSize: icon.frame.size))

뿐만 아니라 fitSize:,이 또한 atWidth:, atHeightatSize:.

내가 사용하고 UIImage+PDF벡터화 할 수있는 모든 이미지, 단지 사진 이미지 여전히 PNG 파일을 사용합니다.

또한 가장 작은 파일 크기를 보장하기 위해 http://smallpdf.com/compress-pdf 와 같은 것을 통해 PDF 파일을 실행 하고 있습니다.

에릭


앱 아이콘을 빌드하는 경우 PDF가 작동하지 않습니다. Speculid 라는 프로젝트를 방금 구축 한 프로젝트를 살펴볼 수 있습니다. SVG 파일을 포함한 소스 이미지에서 PNG, PDF 등을 빌드 할 수 있습니다. 피드백을 주시면 감사하겠습니다.

참고 URL : https://stackoverflow.com/questions/24149785/xcode-6-allows-vector-image-assets-how-to-use-them

반응형