Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 20, 2011 08:54:53

Chrizt
От: Владивосток
Зарегистрирован: 2009-07-18
Сообщения: 88
Репутация: +  0  -
Профиль   Отправить e-mail  

Офсетный растр

Здравствуйте.

Многие из нас примерно знают, как получается так, чтобы на белом листе, используя только CMYK получались красивые журнальные картинки и фотки.
Некоторые из нас знают, что, практически в любом векторном редакторе/процессоре (CorelDraw, Adobe Illusttator), ну и в некоторых графических процессорах (Photoshop, Gimp) можно сделать такой эффект вручную или использовать фильтры.
Такая технология называется офсетный растр. Он работает по какому-то определённому, возможно стандартизированному алгоритму, что позволяет нам запрограммировать это.

Однако, мой мозг ещё недостаточно силён, чтобы проделать такое кунг-фу с помощью нашего любимого языка программирования (Python, если что =)). Обращаюсь к Вам, уважаемое комьюнити, с просьбой помочь сделать нечто подобное с помощью PIL или, ещё лучше - PyCairo, коим я сейчас пытаюсь оперировать.

Если вкратце, то необходимо сделать самое простое: нарисовать плоскую фигуру, залить её нужным цветом, нарисовать на ней поверх букву и всё это сделать с эффектом офсетного растра. То есть, создать приближенную видимость, будто изображение “как бы из журнала”.

Вообще, вот список, каких эффектов текстур мне нужно добиться, но я понятия не имею даже с какой стороны подойти к реализации этого.

Вариант с нарезкой паттернов и подстановки их не прокатит в виду того, что невозможно предусмотреть все подобные варианты:
• офсетный растр
• газеты: газетная бумага, картон, крафт
• журналы: мелованная бумага

Пожааалуйста, ну хоть намекните, что можно придумать с этим?



Офлайн

#2 Окт. 20, 2011 11:48:29

Chrizt
От: Владивосток
Зарегистрирован: 2009-07-18
Сообщения: 88
Репутация: +  0  -
Профиль   Отправить e-mail  

Офсетный растр

Ну хоть как-то намекните, пожалуйста!
Хотя бы, как это делается в фотошопе без фильтров?
А я повторю это в виде кода.



Офлайн

#3 Окт. 20, 2011 21:01:29

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Офсетный растр

Насколько я понимаю см (http://www.descreen.net/rus/help/descreen/home/descreen_manual.htm) офсетный растр - средство борьбы с помехой которая получается при наложении растра сканера на растр сканируемого изображения. Очевидно в результате будет муар. Ни о каком повышении качества исходно компьютерного изображения не может идти речи.



Офлайн

#4 Окт. 20, 2011 21:28:27

Chrizt
От: Владивосток
Зарегистрирован: 2009-07-18
Сообщения: 88
Репутация: +  0  -
Профиль   Отправить e-mail  

Офсетный растр

ни о каком повышении качества речи и нет.
мне просто нужно наложить «текстуру» офсетного растра на картинку.
как такую текстуру сгенерировать и наложить – вот в чем вопрос.



Офлайн

#5 Окт. 20, 2011 22:31:26

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Офсетный растр

Думаю вам подойдет PIL http://www.pythonware.com/library/pil/handbook/index.htm.
Растр можно имитировать и потом перемножить с исходным изображением. Он получается по причине потери параллельности линий растра при растяжении бумаги. Деформацию наверное удобнее описывать функцией комплексного переменного.



Офлайн

#6 Окт. 20, 2011 23:08:26

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Офсетный растр

Вы такого эффекта хотите добиться?

from pylab import *
import numpy as np

x=np.linspace(2,30,250)
y=np.linspace(2,30,250)
xx, yy = np.meshgrid(x, y)
A=(np.sin(15*xx)+3)*(sin(16*xx+0.1*(yy+yy**2))+3)

imshow(A,cmap=cm.gray)
show()



Офлайн

#7 Окт. 21, 2011 11:39:02

Chrizt
От: Владивосток
Зарегистрирован: 2009-07-18
Сообщения: 88
Репутация: +  0  -
Профиль   Отправить e-mail  

Офсетный растр

doza_and
Вы такого эффекта хотите добиться?
Честно, у меня нет возможности найти и уж тем более поставить этот pylab, поэтому прошу Вас, пожалуйста, покажите результат, о котором Вы пишете.



Офлайн

#8 Окт. 21, 2011 19:27:56

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Офсетный растр

Если у вас нет возможности ставить библиотеки, то сделать что-то будет очень сложно. В чем собственно у вас сложность с установкой?



Офлайн

#9 Окт. 21, 2011 20:22:57

Chrizt
От: Владивосток
Зарегистрирован: 2009-07-18
Сообщения: 88
Репутация: +  0  -
Профиль   Отправить e-mail  

Офсетный растр

Вот только издеваться не надо.
Я не знаю, где скачать этот pylab.

Да и ради одного эксперимента ставить не особо хочется.

Если Вам не трудно, покажите, пожалуйста, что Вы в примере Выше демонстрировали.
Может, это оно и есть - что мне нужно.



Офлайн

#10 Окт. 21, 2011 21:06:57

Chrizt
От: Владивосток
Зарегистрирован: 2009-07-18
Сообщения: 88
Репутация: +  0  -
Профиль   Отправить e-mail  

Офсетный растр

Кстати, а если отвлечься от офсетного растра…
Как правильно наложить, к примеру, синий многоугольник с какой-нибудь белой буквой внутри на текстуру какой-нибудь бумаги (пофигу, мятой или нет)?

В фотошопе есть отдельные фильтры, имитирующие это дело, а вот как это на практике программирования реализуется, особенно в Python - не догоняю.

В ФШ, насколько я помню, нижним слоем должна быть сама текстура, а верхним - накладываемая картинка с режимом смешивания оверлей, что ли.

Ну и главное условие всей этой магии - это чтобы текстура была белой с серым, например.

Могу, конечно, ошибаться на счёт всего этого.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version