Найти - Пользователи
Полная версия: Офсетный растр
Начало » Python для экспертов » Офсетный растр
1
Chrizt
Здравствуйте.

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

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

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

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

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

Пожааалуйста, ну хоть намекните, что можно придумать с этим?
Chrizt
Ну хоть как-то намекните, пожалуйста!
Хотя бы, как это делается в фотошопе без фильтров?
А я повторю это в виде кода.
doza_and
Насколько я понимаю см (http://www.descreen.net/rus/help/descreen/home/descreen_manual.htm) офсетный растр - средство борьбы с помехой которая получается при наложении растра сканера на растр сканируемого изображения. Очевидно в результате будет муар. Ни о каком повышении качества исходно компьютерного изображения не может идти речи.
Chrizt
ни о каком повышении качества речи и нет.
мне просто нужно наложить «текстуру» офсетного растра на картинку.
как такую текстуру сгенерировать и наложить – вот в чем вопрос.
doza_and
Думаю вам подойдет PIL http://www.pythonware.com/library/pil/handbook/index.htm.
Растр можно имитировать и потом перемножить с исходным изображением. Он получается по причине потери параллельности линий растра при растяжении бумаги. Деформацию наверное удобнее описывать функцией комплексного переменного.
doza_and
Вы такого эффекта хотите добиться?
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()
Chrizt
doza_and
Вы такого эффекта хотите добиться?
Честно, у меня нет возможности найти и уж тем более поставить этот pylab, поэтому прошу Вас, пожалуйста, покажите результат, о котором Вы пишете.
doza_and
Если у вас нет возможности ставить библиотеки, то сделать что-то будет очень сложно. В чем собственно у вас сложность с установкой?
Chrizt
Вот только издеваться не надо.
Я не знаю, где скачать этот pylab.

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

Если Вам не трудно, покажите, пожалуйста, что Вы в примере Выше демонстрировали.
Может, это оно и есть - что мне нужно.
Chrizt
Кстати, а если отвлечься от офсетного растра…
Как правильно наложить, к примеру, синий многоугольник с какой-нибудь белой буквой внутри на текстуру какой-нибудь бумаги (пофигу, мятой или нет)?

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

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

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

Могу, конечно, ошибаться на счёт всего этого.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB