Board.KolibriOS.org

Official KolibriOS board
It is currently Sun May 26, 2019 8:46 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 99 posts ]  Go to page Previous 13 4 5 6 7 Next
Author Message
PostPosted: Thu Oct 08, 2009 12:56 am 
Offline
Just Flooding

Joined: Sat Jan 06, 2007 2:30 pm
Posts: 269
Комментарии ИМХО лучше писать на английском, тем более что латиница во всех кодировках одинаково будет.

offtop:
*Вот думаю, в исходниках MeView комментариев чуть ли не больше чем кода, а всё равно никто даже не заинтересовался...*
offtop_end:


Top
   
PostPosted: Thu Oct 08, 2009 1:08 am 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Все, кто реально пишут код, уже понабрали предостаточно проектов.

Коментарии в коде нужны, чтобы в нём мог разобраться и другой программист. Возможно другой программист сможет улучшить код и исправить ошибки(если они есть).

_________________
KolibriOS-перспективная ос!
Kolibri is best operation system in the world!


Top
   
PostPosted: Thu Oct 08, 2009 1:51 am 
Nable
Я смотрел твои исходники. Однако на все не хватает времени. Если у тебя есть желание сотрудничать - готов предоставить свои спецификации. Просто реально не успеваю всего делать. Если имеешь желание - пиши в личку. Просто писать на форуме в абсолютно не связанной теме - малопродуктивно.


Top
   
PostPosted: Thu Oct 08, 2009 7:22 am 
Offline
Kernel Developer
User avatar

Joined: Mon Mar 20, 2006 10:44 am
Posts: 557
IgorA
Русский, англицкий, cp1251 или cp866 - без разницы, думаю справляться с ними все умеют (хотя если строки в cp866 то и коментарии тоже удобно в cp866 использовать).
В первую очередь конечно лучше коментировать библиотеку.


Top
   
PostPosted: Fri Oct 09, 2009 1:16 am 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 811
Немного прокомментировал код библиотеки, и написал еще 1 пример программки.
Думаю можно было и больше комментариев дать, но пока не очень детально.


Attachments:
vectors_comment.7z [11.53 KiB]
Downloaded 198 times
Top
   
PostPosted: Fri Jul 02, 2010 5:44 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 811
Решил сделать библиотеку для работы с 2d буферами, для обработки изображений. Думаю это будет что-то наподобие pixlib, но на asm. Пока возможности ограничены, можно создавать буферы, рисовать в них прямые линии. Также есть функции для рисования (полу)прозрачных изображений поверх других. Возможно в будущем некоторые функции перекочуют из vectors.obj.

В архиве исходные коды библиотеки и 2 программы: 1-я тестовая, 2-я показывает работу с прозрачностью. Вторая программа использует libimg для получения данных изображения в формате rgb.


Attachments:
buf2d_100702.7z [124.04 KiB]
Downloaded 176 times
Top
   
PostPosted: Sat Jul 03, 2010 12:04 am 
Хорошая идея, так можно шрифты реализовать. :-)


Top
   
PostPosted: Tue Jul 06, 2010 1:24 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 811
новая версия 06.07.10 - расширены возможности функции buf2d_bit_blt, теперь она может рисовать 32 битные буферы. Добавлены 2 новые функции: buf2d_bit_blt_alpha и buf2d_cruve_bezier. Небольшие изменения в функции buf2d_line.
Mario wrote:
Хорошая идея, так можно шрифты реализовать. :-)

С новой функцией buf2d_bit_blt_alpha станет немного легче реализовать, потому что она рисует прозрачный 8-битный буфер, с заливкой указанным цветом. Т.е. в отличие от buf2d_bit_blt не нужно будет создавать буфер изображения в 24 бита и потом преобразовывать его в 32-битный.


Attachments:
buf2d_100706.7z [125.83 KiB]
Downloaded 166 times
Top
   
PostPosted: Fri Jul 16, 2010 10:10 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 811
Новая версия 16.07.10 - исправлено по 2 ошибки в функциях buf2d_img_hdiv2 и buf2d_img_wdiv2, которые могли проявляться при определенных условиях (если размер изображения был кратен 4Кб и др.). Добавлены 2 функции для вывода текста в буфер buf2d_convert_text_matrix и buf2d_draw_text. Добавил пример использования текста.

Архив уменьшился, потому что для 2-го примера взял другую картинку. Текст выводится в буфер на основе картинки font8x9.bmp из папки с kfar-ом. Можно брать любые картинки со шрифтами, чтобы размер 1-го символа был не более 255 пикселей.


Attachments:
buf2d_100716.7z [86.81 KiB]
Downloaded 157 times
Top
   
PostPosted: Mon Jul 19, 2010 9:02 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 811
Новая версия 19.07.10 - добавлена функция рисования окружности buf2d_circle; изменен формат буфера - для ширины и высоты используются 4-х байтные числа вместо 2-х байтных.

Алгоритм рисования взял с другой темы:
Code:
Private Sub Circ(x As Integer, y As Integer, r As Integer)
    Dim i As Integer, px As Double, py As Double
    px = 0: py = r
    For i = 0 To r * 3.1415926 * 2
        PSet (px + x, y - py), vbBlack
        px = px + py / r
        py = py - px / r
    Next
End Sub

который предложил tsdima.
Размеры буфера изменил с 2-х байт до 4-х, для того что-бы снять ограничение максимального размера символов (до 255 пикселей), теперь можно делать больше чем 255.
Возможно в будущем стоит добавить функцию рисования эллипсов.


Attachments:
buf2d_100719.7z [89.67 KiB]
Downloaded 183 times
Top
   
PostPosted: Sun May 15, 2011 5:25 pm 
Offline

Joined: Thu Feb 19, 2009 12:57 pm
Posts: 68
Может пригодится, алгортм Брезенхэма для вычерчивания окружности (без использования чисел с плавающей точкой):
Code:
procedure circle(integer x, integer y, integer r, integer color)
    integer px,py,delta
    px = 0
    py = r
    delta = 3-2*r
    while px<=py do
        pixel(color, {x+px, y+py})
        pixel(color, {x+px, y-py})
        pixel(color, {x-px, y+py})
        pixel(color, {x-px, y-py})
       
        pixel(color, {x+py, y+px})
        pixel(color, {x+py, y-px})
        pixel(color, {x-py, y+px})
        pixel(color, {x-py, y-px})
       
        if delta<0 then
            delta += 4*px+6
        else
            delta += 4*(px-py)+10
            py -= 1
        end if
        px += 1
    end while
end procedure


Top
   
PostPosted: Sun May 15, 2011 5:55 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 811
Да такой алгоритм будет полезен, потому что я делал рисование окружности ( в buf2d ) с плавающей точкой. В ближайшее время буду занят, попробую использовать функцию когда освобожусь.


Top
   
PostPosted: Sun May 15, 2011 7:52 pm 
Offline
User avatar

Joined: Mon Apr 16, 2007 6:38 pm
Posts: 1222
спасибо,хороший алгоритм

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Top
   
PostPosted: Thu Sep 22, 2011 7:48 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 811
Ревизия 2230:
Добавил новую функцию для рисования сглаженных линий buf2d_line_sm.
Принимает такие же параметры как и функция buf2d_line.


Top
   
PostPosted: Tue Feb 21, 2012 9:43 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 811
Ревизии 2358 и 2359 исправлена функция для рисования горизонтальной линии, функции рисования рамок и прямоугольников могут принимать отрицательные координаты, некоторые функции могут рисовать и в 8 битные буферы
Ревизия 2367 немного доработана функция buf_bit_blt_alpha


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 99 posts ]  Go to page Previous 13 4 5 6 7 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited