Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26151
Рейтинг: 2127
#91: 2016-08-23 00:24:49 ЛС | профиль | цитата
Iliya, я не понял твои мучения, когда есть готовая реализация в компоненте GrayScale, построенная так же на функции ScanLine
карма: 22

0
Ответов: 233
Рейтинг: 12
#92: 2016-08-23 00:30:04 ЛС | профиль | цитата
nesco писал(а):
Iliya, я не понял твои мучения, когда есть готовая реализация в компоненте GrayScale, построенная так же на функции ScanLine


GrayScale выдает градации цвета, а нужно монохорм - черный и белый
карма: 2

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#93: 2016-08-23 01:40:49 ЛС | профиль | цитата
Iliya писал(а):
GrayScale выдает градации цвета, а нужно монохорм - черный и белый

Тебе код для чего нужен, для нашего пакета или вообще для Delphi?

--- Добавлено в 2016-08-23 01:42:42

Для нашего пакета монохром можно получить гораздо проще

Add(InlineCode,16027771,266,196)
{
WorkPoints=#8:dopf1bit|
EventPoints=#8:onResult|
DataPoints=#6:Bitmap|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|20: bwbmp: PBitmap;|15: bmp: PBitmap;|9: public|23: Bitmap: THI_Event;|25: onResult: THI_Event;|0:|21: constructor Create;|31: destructor Destroy; override;|53: procedure dopf1bit(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|31:constructor THiAsmClass.Create;|5:begin|12: inherited;|27: bwbmp := NewBitmap(0, 0);|4:end;|0:|31:destructor THiAsmClass.Destroy;|5:begin|13: bwbmp.free;|12: inherited;|4:end;|0:|31:procedure THiAsmClass.dopf1bit;|5:begin|35: bmp := ReadBitmap(_Data, Bitmap);|25: if bmp = nil then exit;|20: bwbmp.Assign(bmp);|30: bwbmp.PixelFormat := pf1bit;|32: _hi_onEvent(onResult, bwbmp); |4:end;|0:|4:end.|
}


Редактировалось 4 раз(а), последний 2016-08-23 01:44:39
карма: 22

1
Голосовали:Iliya
Ответов: 233
Рейтинг: 12
#94: 2016-08-23 03:15:54 ЛС | профиль | цитата
nesco писал(а):

Iliya писал(а):
GrayScale выдает градации цвета, а нужно монохорм - черный и белый

Тебе код для чего нужен, для нашего пакета или вообще для Delphi?


Да, для нашего. Спасибо большое!!!
карма: 2

0
Ответов: 233
Рейтинг: 12
#95: 2016-10-08 11:46:37 ЛС | профиль | цитата
Здравствуйте! Может кто-нибудь знает как обрезать у картинки пустые белые области по краям?
карма: 2

0
Ответов: 5227
Рейтинг: 587
#96: 2016-12-04 15:33:23 ЛС | профиль | цитата
По коду в принципе то же самое что Gamma только с коррекцией отдельных цветов в RGB.
Да и быстродействие получше (мне для вэбки понадобилось)
для дельфина ~2раза
для фпс ~5раз

з.ы хотел было себе прямо в компонент добавить (Gamma) но чё то там так накручено
как из тетрадки по турбо-паскалю
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
1
Голосовали:Iliya
Ответов: 5227
Рейтинг: 587
#97: 2016-12-04 19:44:33 ЛС | профиль | цитата
По результатам теста решил обернуть в компонент. Залил сюда http://forum.hiasm.com/topic/66225
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 5227
Рейтинг: 587
#98: 2021-12-29 21:49:32 ЛС | профиль | цитата
зумчик для RichEdit
может кому сгодится. По сути в сам компонент функционал добавить не мешает.

Add(MainForm,2953706,28,42)
{
Width=649
Height=363
}
Add(RichEdit,6955253,91,42)
{
Left=20
Top=20
Width=600
Height=250
Font=[Segoe UI,8,0,0,204]
Strings=#21:HiAsm или Конструктор|25:программ это прежде всего|20:система визуального |28:проектирования и разработки |28:приложений, не требующая от |27:пользователя знания языков |32:программирования и особенностей |33:функционирования ОС, позволяющая |33:быстро и легко писать (рисовать) |20:небольшие программы.|
ScrollBars=3
Point(Handle)
}
Add(InlineCode,4872276,112,98)
{
WorkPoints=#9:doSetZoom|
DataPoints=#4:Hwnd|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|38:uses kol,Windows,Share,Debug,Messages;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|21: Hwnd: THI_Event;|51: procedure doSetZoom(var dt: TData; idx: word);|5: end;|0:|14:implementation|0:|5:const|29: EM_SETZOOM = WM_USER + 225;|2: |32:procedure THiAsmClass.doSetZoom;|3:var|13: h: THandle;|5:begin|28: h := ToIntegerEvent(Hwnd);|47: SendMessage(h,EM_SETZOOM, ToInteger(dt),100);|4:end;|0:|4:end.|
link(Hwnd,6955253:Handle,[])
}
Add(TrackBar,12627572,28,98)
{
Left=20
Top=285
Width=215
Max=300
Min=100
link(onPosition,4872276:doSetZoom,[])
}

карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#99: 2021-12-30 01:41:36 ЛС | профиль | цитата
andrestudio писал(а):
зумчик для RichEdit

Добавил метод doSetZoom и фиксы чтения Array вот из этой темы -- https://forum.hiasm.com/topic/67772
карма: 22

0
Ответов: 5227
Рейтинг: 587
#100: 2021-12-30 06:48:48 ЛС | профиль | цитата
Ведь наверняка FPC в RichEdit до сих пор не добавляет Bitmap(ы)
Вот решение https://forum.hiasm.com/getfile/39338
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
файлы: 1RE_Bmp.zip [3.4KB] [252]
Разработчик
Ответов: 26151
Рейтинг: 2127
#101: 2021-12-30 11:41:27 ЛС | профиль | цитата
andrestudio писал(а):
Ведь наверняка FPC в RichEdit до сих пор не добавляет Bitmap(ы)

А старым FPC еще кто-то пользуется?

PS Осталось только реализовать поддержку HideFrame (включение/выключение изменения размера картинки), если это вообще можно реализовать на FPC

Редактировалось 2 раз(а), последний 2021-12-30 12:27:59
карма: 22

0
Ответов: 5227
Рейтинг: 587
#102: 2021-12-30 13:32:14 ЛС | профиль | цитата
nesco писал(а):
А старым FPC еще кто-то пользуется?

А что официальным стал кто то другой или я что то пропустил
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#103: 2021-12-30 18:33:25 ЛС | профиль | цитата
andrestudio писал(а):
А что официальным стал кто то другой или я что то пропустил

Официальным-то он остался, но многие уже юзают 3.2.2, тк официальный еще тот гемор. И если что-то делать для себя, то FPC вообще можно спустить в унитаз.
P.S. Насчет HideFrame -- часто ли его юзают и нужен ли он как таковой вообще?

Редактировалось 2 раз(а), последний 2021-12-30 18:36:09
карма: 22

0
Ответов: 5227
Рейтинг: 587
#104: 2021-12-30 19:44:31 ЛС | профиль | цитата
nesco писал(а):
Насчет HideFrame -- часто ли его юзают и нужен ли он как таковой вообще?

Понятия не имею что это и как это относится к размеру картинки...

--- Добавлено в 2021-12-30 19:49:34

nesco писал(а):
тк официальный еще тот гемор. И если что-то делать для себя, то FPC вообще можно спустить в унитаз.

ну можно и не торопится, во всяком случае все мои GDIPlus контролы вполне неплохо работают и в нём, так что вполне законно могу делать легально ПО.

Редактировалось 1 раз(а), последний 2021-12-30 19:49:34
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#105: 2021-12-30 20:16:58 ЛС | профиль | цитата
andrestudio писал(а):
Понятия не имею что это и как это относится к размеру картинки...

Эта мулька убирает рамку, таская за которую можно изменить размер картинки прямо в редакторе. Дело в том, что эта рамка включена по дефолту в коде Delphi. У тебя же код работает без включения этой рамки, те твой код отрабатывает режим HideFrame=true (скрыть рамку).

Редактировалось 1 раз(а), последний 2021-12-30 20:17:21
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)