ПРОСТОЙ ПОДХОД:
Создать XML-файл rounded_fg.xml в res / drawable / папка вашего приложения. Содержимое rounded_fg.xml выглядит следующим образом:
Вы можете сопоставить endColor с фоновым макетом контейнера ImageView & amp; GradientRadius может иметь любое значение в соответствии с вашими требованиями (< = 36dp).
Теперь используйте это рисование в качестве переднего плана для просмотра изображений следующим образом:
Прекрасно работает с квадратными изображениями и / или ImageView .
Квадратное изображение / вид изображения:
Прямоугольное изображение / вид изображения:
Передний план применен над кнопкой:
Существует гораздо более простой подход, чем любой из вышеперечисленных: Array # pack :
>> [65,66,67,68,69].pack('c*')
=> "ABCDE"
Я считаю, что pack реализован на языке c в matz ruby, поэтому он также будет значительно быстрее работать с очень большими массивами.
Кроме того, pack может правильно обрабатывать UTF-8 с использованием шаблона 'U *'.
не могу вспомнить, есть ли хоть одна функция, которая это делает:
>> a = [65,66,67]
=> [65, 66, 67]
>> a.map {|x| x.chr}.join
=> "ABC"
Если байты - это массив Fixnum, вы можете попробовать следующее:
bytes.map {|num| num.chr}.join
или это:
s = ''
bytes.each {|i| s << i}