[AI CC-CC2022] Действительно ли Иллюстратор умеет выравнивать по пикселам?

  • Автор темы Автор темы Snork
  • Дата начала Дата начала

Snork

Топикстартер
12 лет на форуме
Сообщения
134
Реакции
3
Решил проверить, как Иллюстратор соблюдает пиксельное выравнивание. Сделал бесшовный узор из квадратов. Квадраты рисовал с привязкой к пикселу, размножал тоже по пикселам. И вот в итоговом узоре замечаю, что выравнены они не совсем точно. Погрешность мизерная, в 10-тысячные доли пиксела. Скажете, ерунда. Но при увеличении выглядит это так:

Узор.png


Видно, что есть области с точным выравниванием, но есть и области со смещением. Выделил все квадраты и сделал им принудительную коррекцию по пикселам. Результат тот же:

Координаты.png


Скопировал узор в Фотошоп (вставил как пикселы) и проверил там - та же картина. По цифрам вроде сущая ерунда, а вот сомнения в этой функции появились.
 
размножал тоже по пикселам
Где-то тут собака порылась :) Тут уже привязка может и не работать, а погрешность есть наверное.
А если скриптом потом прогонять?
 
  • Спасибо
Реакции: Snork
Откуда ей взяться, если к целому числу прибавляем другое целое, потом ещё целое и т. д.
Ну, мы же не знаем как Вы размножаете :) По идее все так, ибо пиксель в AI приравнен к пункту, но весь процесс знать не помешало бы :) AI все таки не растровый редактор и пикселей в нем по сути нет никаких...
 
Попробуйте экспортировать в psd.
У меня так.
А как это вы так ловко их размножили? Я так не умею, научите.
Экспортировал в PSD без сглаживания. Полная хрень получилась.

Квадратики из PSD.png
 
Ну, мы же не знаем как Вы размножаете :) По идее все так, ибо пиксель в AI приравнен к пункту, но весь процесс знать не помешало бы :) AI все таки не растровый редактор и пикселей в нем по сути нет никаких...
Это справедливо только для разрешения 72 dpi
У вас 72 dpi? ;)
 
для разрешения 72 dpi
Не совсем понял... где это разрешение?
Скрипт поправил:
Код:
#target Illustrator
if ( app.documents.length > 0 ) {
    var doc = app.activeDocument;
    var ap = new Array();
    for (var j=0;j<doc.pathItems.length;j++) {
        obj=doc.pathItems[j];
            for (var i=0;i<obj.pathPoints.length;i++) {
                ap[0]=Math.round(obj.pathPoints[i].anchor[0]);
                ap[1]=Math.round(obj.pathPoints[i].anchor[1]);
                obj.pathPoints[i].anchor = ap;
                obj.pathPoints[i].leftDirection = ap;
                obj.pathPoints[i].rightDirection = ap;
            };
    };
};
 
Последнее редактирование:
  • Спасибо
  • Огонь
Реакции: Flame и Chiga
Не совсем понял... где это разрешение?
Скрипт поправил:
Код:
#target Illustrator
if ( app.documents.length > 0 ) {
    var doc = app.activeDocument;
    var ap = new Array();
    for (var j=0;j<doc.pathItems.length;j++) {
        obj=doc.pathItems[j];
            for (var i=0;i<obj.pathPoints.length;i++) {
                ap[0]=Math.round(obj.pathPoints[i].anchor[0]);
                ap[1]=Math.round(obj.pathPoints[i].anchor[1]);
                obj.pathPoints[i].anchor = ap;
                obj.pathPoints[i].leftDirection = ap;
                obj.pathPoints[i].rightDirection = ap;
            };
    };
};
Вы документ экспортируете с каким разрешением? Базовое разрешение (на которое выравнивание) какое?
 
Базовое разрешение (на которое выравнивание) какое?
В AI насколько знаю всегда 72 и поменять нельзя. Про экспорт я не говорил :) Но естественно учитывать это при экспорте нужно, а режим pixei preview также насколько понимаю всегда 72 показывает. Тут вопрос к экстеншену которым ТС сдвигал это все... Учитывая что AI считает все через пункты=пикселям, крайне странно получить погрешность, тем не менее... Она появилась.
 
Есть гипотеза, что пересчитывает с округлением на разрешение документа. Но, если Рома проверил и это не так, то я не настаиваю.
 
Само собой. Но эта опция для рисования. А я потом ещё принудительно выравнивал кнопкой/командой "Коррекция на уровне пикселов".
В оформление я не догадался заглянуть, всё просто оказалось.