[mdk-re] Re: [JT] консольный gimp
Alexander Bokovoy
=?iso-8859-1?q?a=2Ebokovoy_=CE=C1_sam-solutions=2Enet?=
Вт Мар 12 13:47:25 MSK 2002
On Tue, Mar 12, 2002 at 11:04:48AM +0300, Artem Pastuchov wrote:
> Hello Mikhail,
>
> Tuesday, March 12, 2002, 1:05:14 AM, you wrote:
>
> MZ> Hello roman_tutov,
>
> MZ> On Mon, Mar 11, 2002 at 03:26:11PM +0300, roman_tutov на mail.ru wrote:
> >>
> >> ЗЫ . Да ну вас линуксоидов . Я удивляюсь почему гимп не консольный .:)
>
> MZ> Ну, а чем плох ImageMagick? :)
> Мало того , никто не мешает применятьGimp в консоли
> для этого есть перловые и питоновые модули
И модули для Ruby. Которые, более того, позволяют действительно в консоли
все проделывать, да еще и из программы, запущенной на другой машине. Вот
пример (взят из рассылки ruby-talk, автор Masahiro Sakai):
1. start up gimp and dRuby server
(its menu path is <Toolbox>/Xtns/Ruby-Fu/dRuby Server/Start...)
BTW you can start up them from command-line like
% gimp --no-interface --batch '(ruby-fu-druby-server 1 "druby://:7950" "")'
2. Then you can use gimp procedures via dRuby.
Following is an example.
require 'gimp/base'
require 'drb/drb'
DRb.start_service(nil, nil)
g = DRbObject.new(nil, 'druby://:7950')
width = 100
height = 100
old_fg = g.gimp_palette_get_foreground
old_bg = g.gimp_palette_get_background
img = g.gimp_image_new(width, height, Gimp::RGB)
begin
img.undo_disable # equivalent to g.gimp_image_undo_disable(img)
d = g.gimp_layer_new(img, width, height, Gimp::RGBA_IMAGE, "Background",
100, Gimp::NORMAL_MODE)
img.add_layer(d, -1) # equivalent to g.gimp_image_add_layer(img, d, -1)
g.gimp_palette_set_background(Gimp::Color.new(255,255,255))
g.gimp_edit_fill(d, Gimp::BG_IMAGE_FILL)
d = g.gimp_layer_new(img, width, height, Gimp::RGBA_IMAGE, "BoxLayer",
100, Gimp::NORMAL_MODE)
img.add_layer(d, -1)
g.gimp_drawable_fill(d, Gimp::TRANS_IMAGE_FILL)
g.gimp_rect_select(img, width/4, height/4, width/2, height/2,
Gimp::ADD, false, 0)
g.gimp_palette_set_foreground(Gimp::Color.new(0,0,255))
g.gimp_bucket_fill(d, Gimp::FG_BUCKET_FILL, Gimp::NORMAL_MODE,
100, 0, false, 0, 0)
g.gimp_selection_none(img)
#g.script_fu_drop_shadow(Gimp::RUN_NONINTERACTIVE, img, d, "8", "8", "5.0",
# Gimp::Color.new(0,0,0), "70", true)
img.active_layer = d
g.gimp_palette_set_foreground(Gimp::Color.new(255, 0, 0))
d = g.gimp_text_fontname(img, nil, width/4, height/4, "Ruby!", 0, true,
15, Gimp::PIXELS,
"-adobe-utopia-medium-r-normal-*-*-*-*-*-p-*-*")
img.flatten # equivalent to g.gimp_image_flatten(img)
filename = '/home/susho/my_src/hoge.bmp'
g.file_bmp_save(Gimp::RUN_NONINTERACTIVE, img, img.active_drawable,
filename, filename)
ensure
img.delete # equivalent to g.gimp_image_delete(img)
g.gimp_palette_set_background(old_bg)
g.gimp_palette_set_foreground(old_fg)
end
There are many many proedures provided by the gimp.
DB Browser (<Toolbox>Xtns/DB Browser...) will be your help
for searching functions.
--
/ Alexander Bokovoy
Software architect and analyst // SaM-Solutions Ltd.
---
I'm having an emotional outburst!!
Подробная информация о списке рассылки community