Винтажные фильтры – обновление

Обновилась коллекция винтажных фильтров для GIMP: добавлены три новых фильтра (Amaro, Brannan, Toaster), а также поддержка виньетирования. Все фильтры теперь объединены в один: при запуске скрипта выводится диалоговое окно с выбором фильтра и другими опциями.

Скачать можно здесь.

Журнал “FPS” №27

Вышел 27 номер электронного PDF-журнала “FPS”, посвященного разработке игр, программированию, компьютерной графике и звуку.

Читайте в этом номере:

> Подборка новостей по Blender
> Тон Розендаль о будущем интерфейса Blender
> GIMP: цветокоррекция на Python
> От мольберта – к дисплею. Заметки о цифровой живописи
> Физический движок своими руками. Часть IV
> Математика в dlib
> Ranges: диапазоны в D
> Игровые новости из мира Linux
> Право на творчество

Номер доступен для онлайн-чтения и загрузки на сервисе Issuu.com, Документах Google и Dropbox.

Последние новости по проекту вы можете узнать в публичной странице журнала в социальной сети Google+: http://gplus.to/fpsmag. Добавляйте нас в круги, оставляйте свои комментарии и отписывайтесь в нашем сообществе.

Архив номеров журнала здесь.

Thumbnailer для GIMP

Терпеть не могу рутинную, механическую работу! Сейчас вот пришлось вручную изготовлять миниатюры изображений произвольного разрешения, центрируя и уменьшая их до квадрата размером 128х128. Не стал долго мучиться, написал для GIMP скрипт на Python – и решил сразу выложить, вдруг кому-нибудь тоже пригодится:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from gimpfu import *

def python_fu_thumbnailer(image, layer, width, height):
origWidth = pdb.gimp_image_width(image)
origHeight = pdb.gimp_image_height(image)
newWidth = origWidth
newHeight = origHeight

newX = 0
newY = 0

if (origWidth > origHeight):
newWidth = origHeight
newX = -(origWidth/2 - newWidth/2)
elif (origWidth < origHeight):
newHeight = origWidth
newY = -(origHeight/2 - newHeight/2)

pdb.gimp_layer_resize(layer, newWidth, newHeight, newX, newY)
pdb.gimp_image_resize_to_layers(image)

pdb.gimp_context_set_interpolation(INTERPOLATION_LANCZOS)
pdb.gimp_image_scale(image, width, height)

register(
"python-fu-thumbnailer",
"Thumbnailer",
"Thumbnailer 0.1",
"Timur Gafarov",
"(c) Copyright 2013 Timur Gafarov",
"09-02-2013",
"Make a thumbnail...",
"RGB*, GRAY*",
[
(PF_IMAGE, "image", "Target image", None),
(PF_DRAWABLE, "drawable", "Target layer", None),
(PF_SPINNER, "width", "Width:", 128, (1, 262144, 1)),
(PF_SPINNER, "height", "Height:", 128, (1, 262144, 1))
],
[],
python_fu_thumbnailer,
menu = "/Python-Fu/Transform")

main()

Тестировал с GIMP 2.7.4 и Python 2.7.1.