2017-02-20 24 views
-1

Я не могу получить изображение UIButton, чтобы оно не было в пикселях. Исходное изображение - 432X417, а размер моей кнопки - 18X17. Я настраиваю кнопку в построителе интерфейса и устанавливаю режим содержимого на aspect fit.UIButton image pixelated

+0

Использование [Векторная графика в iOS] (http://www.programmingcrew.in/2016/09/vector-graphics-in-ios.html) – pkc456

+0

У вас не должно быть 432X417 (** !!! **) пиксель внутри маленькой кнопки 18X17. –

+0

@ pkc456 Я использую pdf, который я уменьшил до размера, который мне нужен, и добавил его к ресурсу изображения в одиночном масштабе, и его все еще не получилось. – Brosef

ответ

1

Вы абсолютно НЕ должны пытаться установить изображения размером 432x417 пикселей в кнопку с точкой 18x17.

Вы должны создать свое изображение в целевом размере (-ях) в редакторе изображений (например, Photoshop) и установить его в свой каталог активов. Помните, что для большинства устройств изображения в 18x17 точек должны быть 36x34 пикселей для 2x сетчатки и 54x51 пикселя для масштабирования @ 3x, необходимого для устройств 6+ и 7+.

Если изображение является векторным PDF, то оно должно хорошо масштабироваться, хотя 18x17 точек довольно мало и трудно показать много деталей.

+0

Спасибо за информацию Дункан. Поэтому, если у меня есть одно большое изображение, давайте скажем 500X500 пикселей. Мне нужно масштабировать до нужного размера и добавить его в мой проект xcode? Я думал, что точка 'aspectFit' заключается в том, что она масштабирует изображение до размера изображения. – Brosef

+0

Это будет, но (а) он может не очень хорошо работать, и (б) для получения большого изображения требуется больше памяти. Он должен расширить большое изображение на 4 байта на пиксель, а затем создать еще 4 байта/пиксельный буфер для масштабированного изображения и (c) он медленнее, поскольку он должен поддерживать рендеринг большого изображения в меньшем размере. –

+0

Если исходное изображение является векторным изображением, вы получите МНОГО лучших результатов, которые будут отображаться непосредственно в целевых размерах, чем вы будете получать негабаритные растровые изображения векторного изображения и масштабировать его. –