MiniDemo: Классическая бегучка
MiniDemo: Классическая бегучка
Вот накропал один из алгоритмов вывода синусоидальной бегущей строки Не без глючков конечно, но работает!
// Al_Rado // MiniDemo "Бегучка" v.01 //
resize_pixi (0,320,240)
start_timer(0)
//font=load_pixi("font.gif") //при использовании внешнего фонта - "раскомментить"
font=get_pixi_font // при использовании внешнего фонта - "закомментить"
xfont=get_pixi_xsize(font)
yfont=get_pixi_ysize(font)
pixi_font (font)
x=get_pixi_xsize(0)/2 - 1
y=-get_pixi_ysize(0)/2
xx=x z=0 n=y p=0 i=0
text="Привет! Вот вам и HELLO WORLD! Pixilang - пиксельно-ориентированный язык программирования."
xtext=get_string_size (text)
frames=(xtext*xfont)
stroka=new_pixi(1,yfont,frames)
/////////////////////////
clear(ORANGE)
start:
e=( cos( get_timer( 0 ) / 4 ) / 2 + 128 ) / 2
e2=( sin( get_timer( 0 ) / 4 ) / 2 + 256 ) / 3
e3=( sin( get_timer( 0 ) / 4 ) / 2 + 256 ) / 3
print(text,x+1,y+1,BLACK)
effector( BLACK, 4, 1, get_pixi_xsize(0)/2-1, y+1, 2, yfont, 1)
effector( BLACK, 4, 2, get_pixi_xsize(0)/2-1, y+1, 2, yfont, 1)
print(text,x,y,SNEG)
fbox(-160,y,319,yfont,ORANGE)
frame (0)
nulo:
stroka[i+z] = get_dot (xx,n)
i+1 n+1
if n<=yfont {goto nulo}
clear(ORANGE)
n=y i=0
unu:
fpixi(stroka,x+p+(cos((get_timer(0)-32*p)/4)/8)/12,(cos((get_timer(0)-16*p)/4)/8+64)/6+40,2,e,p)
p+1
if p<frames {goto unu}
x=x-1
z=z+yfont
p=0
frame ()
goto start
// Al_Rado // MiniDemo "Бегучка" v.01 //
resize_pixi (0,320,240)
start_timer(0)
//font=load_pixi("font.gif") //при использовании внешнего фонта - "раскомментить"
font=get_pixi_font // при использовании внешнего фонта - "закомментить"
xfont=get_pixi_xsize(font)
yfont=get_pixi_ysize(font)
pixi_font (font)
x=get_pixi_xsize(0)/2 - 1
y=-get_pixi_ysize(0)/2
xx=x z=0 n=y p=0 i=0
text="Привет! Вот вам и HELLO WORLD! Pixilang - пиксельно-ориентированный язык программирования."
xtext=get_string_size (text)
frames=(xtext*xfont)
stroka=new_pixi(1,yfont,frames)
/////////////////////////
clear(ORANGE)
start:
e=( cos( get_timer( 0 ) / 4 ) / 2 + 128 ) / 2
e2=( sin( get_timer( 0 ) / 4 ) / 2 + 256 ) / 3
e3=( sin( get_timer( 0 ) / 4 ) / 2 + 256 ) / 3
print(text,x+1,y+1,BLACK)
effector( BLACK, 4, 1, get_pixi_xsize(0)/2-1, y+1, 2, yfont, 1)
effector( BLACK, 4, 2, get_pixi_xsize(0)/2-1, y+1, 2, yfont, 1)
print(text,x,y,SNEG)
fbox(-160,y,319,yfont,ORANGE)
frame (0)
nulo:
stroka[i+z] = get_dot (xx,n)
i+1 n+1
if n<=yfont {goto nulo}
clear(ORANGE)
n=y i=0
unu:
fpixi(stroka,x+p+(cos((get_timer(0)-32*p)/4)/8)/12,(cos((get_timer(0)-16*p)/4)/8+64)/6+40,2,e,p)
p+1
if p<frames {goto unu}
x=x-1
z=z+yfont
p=0
frame ()
goto start
ВекторКодПиксельПолигон - ВотЧтоЯЛюблю!
- NightRadio
- Site Admin
- Posts: 3955
- Joined: Fri Jan 23, 2004 12:28 am
- Location: Ekaterinburg. Russia
- Contact:
Re: MiniDemo: Классическая бегучка
Классно получилось!
Re: MiniDemo: Классическая бегучка
Спасибо. Теперь можно готовить шрифты
ВекторКодПиксельПолигон - ВотЧтоЯЛюблю!
Re: MiniDemo: Классическая бегучка
супер
я как раз думаю об том чтобы нарисовать новый фонт подгружаемый
я как раз думаю об том чтобы нарисовать новый фонт подгружаемый
Re: подготовка шрифтов
Как-то не хочется ручками отрисовывать уже имеющиеся шрифты... Я вот подумал о том как все это автоматизировать... Экспериментальный образец сделать получилось, но вот возникло пару вопросов:
1. Возможно ли сохранить подготовленный программой фонт (шрифт) на диск? По типу video_export_gif (filename,x,y,xsize,ysize), только не с экрана, а Pixi -контейнер?
2. Если пользоваться командой video_export_gif , gif-ка сохраняется, а прозрачность никак... Есть ли способ сохранить цвет - назначенный прозрачным?
1. Возможно ли сохранить подготовленный программой фонт (шрифт) на диск? По типу video_export_gif (filename,x,y,xsize,ysize), только не с экрана, а Pixi -контейнер?
2. Если пользоваться командой video_export_gif , gif-ка сохраняется, а прозрачность никак... Есть ли способ сохранить цвет - назначенный прозрачным?
ВекторКодПиксельПолигон - ВотЧтоЯЛюблю!
Re: MiniDemo: Классическая бегучка
Сам шрифт http://slil.ru/25233888
// Al_Rado // MiniDemo "Бегучка" v.02 //
resize_pixi (0,320,240)
start_timer(0)
font=load_pixi("font_1.gif")
xfont=get_pixi_xsize(font)
yfont=get_pixi_ysize(font)
pixi_font (font)
x=get_pixi_xsize(0)/2 - 1
y=-get_pixi_ysize(0)/2
xx=x z=0 n=y p=0 i=0
text="Привет! Вот вам и HELLO WORLD! Pixilang - пиксельно-ориентированный язык программирования."
xtext=get_string_size (text)
frames=(xtext*xfont)
stroka=new_pixi(1,yfont,frames)
/////////////////////////
clear(ORANGE)
start:
e=( cos( get_timer( 0 ) / 6 ) / 4 + 256 ) / 2
e2=( sin( get_timer( 0 ) / 4 ) / 2 + 256 ) / 3
e3=( sin( get_timer( 0 ) / 2 ) / 2 + 128 ) / 3
print(text,x+2,y+2,BLACK)
effector( BLACK, 4, 1, get_pixi_xsize(0)/2-1, y+1, 2, yfont, 1)
effector( BLACK, 4, 2, get_pixi_xsize(0)/2-1, y+1, 2, yfont, 1)
print(text,x,y,SNEG)
fbox(-160,y,319,yfont,ORANGE)
frame (0)
nulo:
stroka[i+z] = get_dot (xx,n)
i+1 n+1
if n<=yfont {goto nulo}
clear(ORANGE)
n=y i=0
unu:
fpixi(stroka,x+p,(cos((get_timer(0)-8*p)/4)/8+64)/6+40,1,1,p)
p+1
if p<frames {goto unu}
x=x-1
z=z+yfont
p=0
frame (30)
goto start
// Al_Rado // MiniDemo "Бегучка" v.02 //
resize_pixi (0,320,240)
start_timer(0)
font=load_pixi("font_1.gif")
xfont=get_pixi_xsize(font)
yfont=get_pixi_ysize(font)
pixi_font (font)
x=get_pixi_xsize(0)/2 - 1
y=-get_pixi_ysize(0)/2
xx=x z=0 n=y p=0 i=0
text="Привет! Вот вам и HELLO WORLD! Pixilang - пиксельно-ориентированный язык программирования."
xtext=get_string_size (text)
frames=(xtext*xfont)
stroka=new_pixi(1,yfont,frames)
/////////////////////////
clear(ORANGE)
start:
e=( cos( get_timer( 0 ) / 6 ) / 4 + 256 ) / 2
e2=( sin( get_timer( 0 ) / 4 ) / 2 + 256 ) / 3
e3=( sin( get_timer( 0 ) / 2 ) / 2 + 128 ) / 3
print(text,x+2,y+2,BLACK)
effector( BLACK, 4, 1, get_pixi_xsize(0)/2-1, y+1, 2, yfont, 1)
effector( BLACK, 4, 2, get_pixi_xsize(0)/2-1, y+1, 2, yfont, 1)
print(text,x,y,SNEG)
fbox(-160,y,319,yfont,ORANGE)
frame (0)
nulo:
stroka[i+z] = get_dot (xx,n)
i+1 n+1
if n<=yfont {goto nulo}
clear(ORANGE)
n=y i=0
unu:
fpixi(stroka,x+p,(cos((get_timer(0)-8*p)/4)/8+64)/6+40,1,1,p)
p+1
if p<frames {goto unu}
x=x-1
z=z+yfont
p=0
frame (30)
goto start
ВекторКодПиксельПолигон - ВотЧтоЯЛюблю!
- NightRadio
- Site Admin
- Posts: 3955
- Joined: Fri Jan 23, 2004 12:28 am
- Location: Ekaterinburg. Russia
- Contact:
Re: MiniDemo: Классическая бегучка
Красивый шрифт получился!
На счет экспорта шрифта - я щас глянул, просто в языке еще не предусмотрена возможность экспорта в GIF с прозрачностью :)
Вот прога для сохранения GIF-шрифта без прозрачности:
На счет экспорта шрифта - я щас глянул, просто в языке еще не предусмотрена возможность экспорта в GIF с прозрачностью :)
Вот прога для сохранения GIF-шрифта без прозрачности:
Code: Select all
fp = get_pixi_font
set_screen( fp )
video_export_gif( "old_font.gif" )
f = 0
aa:
set_screen( fp, f )
frame(0)
f + 1
if f < get_pixi_frames( fp ) { go aa }
Re: MiniDemo: Классическая бегучка
а в каком редакторе шрифт делал ? у меня его никто редактить не хочет
Один из вариантов подготовки шрифта
Вот мой изначальный алгоритм действий по созданию шрифта. Уверен, можно его заметно упростить.
1. Создал в редакторе CorelDraw набор из 256 символов, расположенных в порядке увеличения их ASCII-кодов, сверху вниз (сам файл тут http://slil.ru/25236848 Если в вашей системе не установлен именно тот фонт что использовался, то скорее всего CorelDraw предложит выбор, либо установить его, либо он будет заменен на другой)
2. Выделяю все символы, назначаю нужный фонт, сохраняю Gif-ку (у меня это 24 по ширине и 9216 (36*256) в высоту... можно и любой другой размер, но высчитать с той же пропорцией сторон... Либо придется корректировать высоту знакомест)
3. Запускаю программку, которая делает из одной статичной большой Gif-ки, анимированную с 256 кадрами:
resize_pixi(0,24,36,0)
a=load_pixi("4.gif") // имя файла полученного из CorelDraw
x=24 y=36 yfull=9216
n=0 c=0 i=0 xx=-x/2
Q = new_pixi(x,y,256)
unu:
Q = a
i+1
if i>(256*x*yfull) {finish}
goto unu
finish:
pixi_transp (Q,1,BLACK)
pixi_font (Q)
video_export_hq(1)
video_export_gif("font_4.gif") // имя файла для использования в Pixilang в качестве фонта
start:
if n>255 {clear (SNEG) frame() stop}
print("
!”#$%&’()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_’abcdefghijklmnopqrstuvwxyz{|}__________________________________________________________________АБВГДЕЖЗИЙКЛМ
НОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя",xx,-y/2,SNEG)
frame(50) clear (BLACK)
xx-x
n+1
goto start
4. Открываю полученный файл в CorelPhotopaint и сохраняю Gif-ку с указанием прозрачного цвета (у меня это черный)
В общих чертах так... Как предложил NightRadio пока не пробовал
Goglus, чтобы его (Gif) подредактировать предлагаю использовать то, чем пользовался я - CorelPhotopaint. Первые 33 символа в нем пустые... В общем, они расположены так как в вышеприведенной проге. Перемещаешься по кадрам и редактируешь
1. Создал в редакторе CorelDraw набор из 256 символов, расположенных в порядке увеличения их ASCII-кодов, сверху вниз (сам файл тут http://slil.ru/25236848 Если в вашей системе не установлен именно тот фонт что использовался, то скорее всего CorelDraw предложит выбор, либо установить его, либо он будет заменен на другой)
2. Выделяю все символы, назначаю нужный фонт, сохраняю Gif-ку (у меня это 24 по ширине и 9216 (36*256) в высоту... можно и любой другой размер, но высчитать с той же пропорцией сторон... Либо придется корректировать высоту знакомест)
3. Запускаю программку, которая делает из одной статичной большой Gif-ки, анимированную с 256 кадрами:
resize_pixi(0,24,36,0)
a=load_pixi("4.gif") // имя файла полученного из CorelDraw
x=24 y=36 yfull=9216
n=0 c=0 i=0 xx=-x/2
Q = new_pixi(x,y,256)
unu:
Q = a
i+1
if i>(256*x*yfull) {finish}
goto unu
finish:
pixi_transp (Q,1,BLACK)
pixi_font (Q)
video_export_hq(1)
video_export_gif("font_4.gif") // имя файла для использования в Pixilang в качестве фонта
start:
if n>255 {clear (SNEG) frame() stop}
print("
!”#$%&’()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_’abcdefghijklmnopqrstuvwxyz{|}__________________________________________________________________АБВГДЕЖЗИЙКЛМ
НОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя",xx,-y/2,SNEG)
frame(50) clear (BLACK)
xx-x
n+1
goto start
4. Открываю полученный файл в CorelPhotopaint и сохраняю Gif-ку с указанием прозрачного цвета (у меня это черный)
В общих чертах так... Как предложил NightRadio пока не пробовал
Goglus, чтобы его (Gif) подредактировать предлагаю использовать то, чем пользовался я - CorelPhotopaint. Первые 33 символа в нем пустые... В общем, они расположены так как в вышеприведенной проге. Перемещаешься по кадрам и редактируешь
ВекторКодПиксельПолигон - ВотЧтоЯЛюблю!
Re: MiniDemo: Классическая бегучка
прикольно
Чуть доработанный выриант создания шрифта
Чуть доработанный выриант создания шрифта при помощи программ Corel Draw и Corel Photopaint:
1. Загружаем файл .cdr тут http://slil.ru/25239066 (в прошлом нашел ошибку )
Если в вашей системе не установлен именно тот фонт что использовался, то скорее всего CorelDraw предложит выбор, либо установить его, либо он будет заменен на другой.
2. Выделяем все символы, назначаем нужный фонт, сохранем Gif-ку (у меня это 24 по ширине и 9216 (36*256) в высоту... можно и любой другой размер, но высчитать с той же пропорцией сторон... Либо придется корректировать высоту знакомест и соответственно положение букв в них)
Еще одна особенность - если сохраняя оставить "галку" antialiasing, то впоследствии, шрифт будет сглаженно выглядеть, но менять цвет корректно не получится т.е. если у вас шрифт белого цвета, то и выводить его так print(text,x,y,SNEG). Если же сохраняя, снять "галку" antialiasing, то шрифт будет выглядеть несколько грубовато, но печатать его можно будет любым цветом.
3. Запускаем программку, которая делает из одной статичной большой Gif-ки, анимированную с 256 кадрами:
a=load_pixi("1.gif") // Ширина картинки = ширине шрифта, высота картинки = 256*высоту шрифта. Это файл подготовленный в Corel Draw
x=get_pixi_xsize (a)
yfull=get_pixi_ysize (a)
y=yfull/256
i=0 f=0
Q = new_pixi(x,y,256)
unu:
Q = a
i+1
if i<=(256*x*yfull) {goto unu}
set_screen( Q )
video_export_gif( "font.gif" ) // Имя файла для использования в Pixilang в качестве фонта
aa:
set_screen( Q, f )
frame(0)
f + 1
if f < get_pixi_frames( Q ) { go aa }
4. Открываем полученный файл в Corel Photopaint и сохраняем Gif-ку с указанием прозрачного цвета.
Т.е. в меню File выбираем Save As, пишем имя файла и жмем Save. Далее, в окошке отображающем кадры анимированного Gif выделяем все кадры (выделяем верхний кадр, пролистываем вниз, удерживая Shift выделяем самый нижний кадр - теперь они выделены синим цветом). Далее идем во вкладку Frame settings, в поле Transparency выбираем Image color и жмем кнопку Select color. В появившемся окошке выбираем "пипетку" и жмем ей на левый темный квадратик, затем кнопку OK. Теперь жмем Apply All и OK. Все фонт готов!
1. Загружаем файл .cdr тут http://slil.ru/25239066 (в прошлом нашел ошибку )
Если в вашей системе не установлен именно тот фонт что использовался, то скорее всего CorelDraw предложит выбор, либо установить его, либо он будет заменен на другой.
2. Выделяем все символы, назначаем нужный фонт, сохранем Gif-ку (у меня это 24 по ширине и 9216 (36*256) в высоту... можно и любой другой размер, но высчитать с той же пропорцией сторон... Либо придется корректировать высоту знакомест и соответственно положение букв в них)
Еще одна особенность - если сохраняя оставить "галку" antialiasing, то впоследствии, шрифт будет сглаженно выглядеть, но менять цвет корректно не получится т.е. если у вас шрифт белого цвета, то и выводить его так print(text,x,y,SNEG). Если же сохраняя, снять "галку" antialiasing, то шрифт будет выглядеть несколько грубовато, но печатать его можно будет любым цветом.
3. Запускаем программку, которая делает из одной статичной большой Gif-ки, анимированную с 256 кадрами:
a=load_pixi("1.gif") // Ширина картинки = ширине шрифта, высота картинки = 256*высоту шрифта. Это файл подготовленный в Corel Draw
x=get_pixi_xsize (a)
yfull=get_pixi_ysize (a)
y=yfull/256
i=0 f=0
Q = new_pixi(x,y,256)
unu:
Q = a
i+1
if i<=(256*x*yfull) {goto unu}
set_screen( Q )
video_export_gif( "font.gif" ) // Имя файла для использования в Pixilang в качестве фонта
aa:
set_screen( Q, f )
frame(0)
f + 1
if f < get_pixi_frames( Q ) { go aa }
4. Открываем полученный файл в Corel Photopaint и сохраняем Gif-ку с указанием прозрачного цвета.
Т.е. в меню File выбираем Save As, пишем имя файла и жмем Save. Далее, в окошке отображающем кадры анимированного Gif выделяем все кадры (выделяем верхний кадр, пролистываем вниз, удерживая Shift выделяем самый нижний кадр - теперь они выделены синим цветом). Далее идем во вкладку Frame settings, в поле Transparency выбираем Image color и жмем кнопку Select color. В появившемся окошке выбираем "пипетку" и жмем ей на левый темный квадратик, затем кнопку OK. Теперь жмем Apply All и OK. Все фонт готов!
ВекторКодПиксельПолигон - ВотЧтоЯЛюблю!
Re: шрифты
Goglus, действительно, после назначения шрифтам прозрачного фона они коцаютса и редактить их не выходит...
Вот тут лежат 4 шрифта подготовленные по-быстрому и их исходные файлы для Corel Draw c применением фонтов и в кривых http://slil.ru/25241165
(Шрифт_Arial.cdr, Шрифт_Arial_curves.cdr, Шрифт_Presentum.cdr, Шрифт_Presentum_curves.cdr, Шрифт_Stylo.cdr, Шрифт_Stylo_curves.cdr, Шрифт_TimesNewRoman.cdr, Шрифт_TimesNewRoman_curves.cdr, font16х16_Arial.gif, font16х16_TimesNewRoman.gif, font32х32_Arial.gif, font32х32_Presentum.gif, font32х32_Stylo.gif, font32х32_TimesNewRoman.gif - итого 14 файлов, порядка 600 Kb) Если есть желание, их можно довести до ума
Вот тут лежат 4 шрифта подготовленные по-быстрому и их исходные файлы для Corel Draw c применением фонтов и в кривых http://slil.ru/25241165
(Шрифт_Arial.cdr, Шрифт_Arial_curves.cdr, Шрифт_Presentum.cdr, Шрифт_Presentum_curves.cdr, Шрифт_Stylo.cdr, Шрифт_Stylo_curves.cdr, Шрифт_TimesNewRoman.cdr, Шрифт_TimesNewRoman_curves.cdr, font16х16_Arial.gif, font16х16_TimesNewRoman.gif, font32х32_Arial.gif, font32х32_Presentum.gif, font32х32_Stylo.gif, font32х32_TimesNewRoman.gif - итого 14 файлов, порядка 600 Kb) Если есть желание, их можно довести до ума
ВекторКодПиксельПолигон - ВотЧтоЯЛюблю!
Re: MiniDemo: Классическая бегучка v.03
Подчистил баги
// Al_Rado // MiniDemo "Бегучка" v.03 // Исправлен баг с тенью, спрятана полоска пикселей Шрифты тут http://slil.ru/25241165
resize_pixi (0,320,240)
start_timer(0)
font=load_pixi("font32х32_Presentum.gif")
xfont=get_pixi_xsize(font)
yfont=get_pixi_ysize(font)+4
pixi_font (font)
x=get_pixi_xsize(0)/2 - 1
y=-get_pixi_ysize(0)/2
xx=x z=0 n=y p=0 i=0
text="Привет! Вот вам и HELLO WORLD! Pixilang - пиксельно-ориентированный язык программирования."
xtext=get_string_size (text)
frames=(xtext*xfont)
stroka=new_pixi(1,yfont,frames)
clear(ORANGE)
start:
print(text,x+2,y+2,BLACK)
effector( BLACK, 4, 1, get_pixi_xsize(0)/2-1, y+1, 2, yfont, 1)
effector( BLACK, 4, 2, get_pixi_xsize(0)/2-1, y+1, 2, yfont, 1)
print(text,x,y,SNEG)
nulo:
stroka[i+z] = get_dot (xx,n)
i+1 n+1
if n<=yfont {goto nulo}
clear(ORANGE)
n=y
i=0
unu:
fpixi(stroka,x+1+p,(cos((get_timer(0)-8*p)/4)/8+64)/6+40,1,1,p)
p+1
if p<frames {goto unu}
x=x-1
z=z+yfont
p=0
frame (30)
goto start
// Al_Rado // MiniDemo "Бегучка" v.03 // Исправлен баг с тенью, спрятана полоска пикселей Шрифты тут http://slil.ru/25241165
resize_pixi (0,320,240)
start_timer(0)
font=load_pixi("font32х32_Presentum.gif")
xfont=get_pixi_xsize(font)
yfont=get_pixi_ysize(font)+4
pixi_font (font)
x=get_pixi_xsize(0)/2 - 1
y=-get_pixi_ysize(0)/2
xx=x z=0 n=y p=0 i=0
text="Привет! Вот вам и HELLO WORLD! Pixilang - пиксельно-ориентированный язык программирования."
xtext=get_string_size (text)
frames=(xtext*xfont)
stroka=new_pixi(1,yfont,frames)
clear(ORANGE)
start:
print(text,x+2,y+2,BLACK)
effector( BLACK, 4, 1, get_pixi_xsize(0)/2-1, y+1, 2, yfont, 1)
effector( BLACK, 4, 2, get_pixi_xsize(0)/2-1, y+1, 2, yfont, 1)
print(text,x,y,SNEG)
nulo:
stroka[i+z] = get_dot (xx,n)
i+1 n+1
if n<=yfont {goto nulo}
clear(ORANGE)
n=y
i=0
unu:
fpixi(stroka,x+1+p,(cos((get_timer(0)-8*p)/4)/8+64)/6+40,1,1,p)
p+1
if p<frames {goto unu}
x=x-1
z=z+yfont
p=0
frame (30)
goto start
ВекторКодПиксельПолигон - ВотЧтоЯЛюблю!
Re: MiniDemo: Классическая бегучка
а ведь можно написать прожку что бы шрифт перегоняла в тхт файл, где буква - пикси
Re: MiniDemo: Классическая бегучка
Вариант, только не вижу особого практического смысла... Редактировать не оч. удобно, проще после вывода из Corel Draw и перевода в многокадровый Gif открыть в граф. редакторе и подрисовать, а затем уже сохранять с прозрачным фоном. Хотя, если будет такая прожка, возможно и пригодится =)
ВекторКодПиксельПолигон - ВотЧтоЯЛюблю!