Журнал “FPS” №26

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

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

> Tube Open Movie. Интервью с Бассамом Курдали
> Обзор дополнений Blender, выпуск 5
> GIMP: ломо-эффект как в Instagram
> Физический движок своими руками, часть III
> Making-of: логическая мини-игра Arrow
> Генерация случайных уровней
> Осваиваемся в SDL2
> Пишем плагин для DeleD на D
> Как я стал D-шником или Путь художника в IT
> Игровые новости из мира СПО и Linux
> “Корпорация зла”. Почему у Microsoft нет будущего

Номер доступен для онлайн-чтения и загрузки на сервисе 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.

Журнал “FPS” №21

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

> Blender: обзор дополнений (выпуск 3)
> Tears of Steel: роботы тоже плачут…
> Эффект “старинного фото” в GIMP
> Журнал GIMP Magazine
> Язык D: новости
> Семь мифов о D
> Сборщик мусора – враг или друг?
> Юникод в OpenGL. Раз и навсегда
> Почему я выбираю Linux?
> Патентные войны

Номер доступен для онлайн-чтения и загрузки на сервисе Issuu.com и Документах Google. Последние новости по проекту вы можете узнать в публичной странице журнала в социальной сети Google+.