Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.09;
Скачать: CL | DM;

Вниз

Увеличение картинки без существенной потери качества   Найти похожие ветки 

 
Novice 2   (2002-05-08 00:20) [0]

Не подскажет ли всезнающий All, как увеличить картинку без существенной потери качества? Компонент, пример, алгоритм?


 
VID ©   (2002-05-08 00:37) [1]

Давно на этом форуме я нашёл такой код:

function BitDouble(Sour:TBitMap):TBitMap;
function Mix(Col1, Col2:TColor):TColor;
begin
Result:=RGB(
(GetRValue(Col1)+GetRValue(Col2)) div 2,
(GetGValue(Col1)+GetGValue(Col2)) div 2,
(GetBValue(Col1)+GetBValue(Col2)) div 2);
end;
var
x, y:word;
begin
Result:=TBitMap.Create;
Result.Height:=Sour.Height*2-1;
Result.Width:=Sour.Width*2-1;
for y:=0 to Sour.Height do
for x:=0 to Sour.Width do begin
Result.Canvas.Pixels[x*2,y*2]:=Sour.Canvas.Pixels[x,y];
Result.Canvas.Pixels[x*2+1,y*2]:=Mix(Sour.Canvas.Pixels[x,y], Sour.Canvas.Pixels[x+1,y]);
end;
for x:=0 to Result.Width do
for y:=0 to Sour.Height do
Result.Canvas.Pixels[x,y*2+1]:=Mix(Result.Canvas.Pixels[x,y*2], Result.Canvas.Pixels[x,y*2+2]);
end;

Автор гарантировал увеличение BitMap в 2 раза без потери качества. Я функцию не проверял, так что остаётся верить словам автора. Правда автора я не помню...


 
Mirovodin ©   (2002-05-08 20:27) [2]

У меня на DelphiGFX в разделе Lib"s возьми Bitmap Resampler


 
Novice 2   (2002-05-09 08:41) [3]

> VID

Пример рабочий, однако работает очень долго (порядка нескольких секунд). Может для оптимизации надо настроить Delphi проект? Я имею в виду файл с расширением dof.

> Mirovodin

Спасибо посмотрю.


 
Novice 2   (2002-05-11 08:31) [4]

Вопрос еще в силе.


 
hooch   (2002-05-11 09:29) [5]

Есть очень классная библиотечка FastBMP называется
http://gfody.com


 
Antipapa   (2002-05-11 13:38) [6]

На www.delphi-jedi.org смотри JCL - там есть это и очень качественно.


 
Novice 2   (2002-05-11 15:29) [7]

Спасибо, друзья!



Страницы: 1 вся ветка

Текущий архив: 2002.09.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
1-27066
Наташа
2002-08-28 11:24
2002.09.09
Сокращение объема EXE-файла


14-27222
Polevi
2002-08-12 16:14
2002.09.09
полосатый грид


1-27098
Dmitriy Polskoy
2002-08-28 16:42
2002.09.09
используется ли папка другим приложением


1-26954
USTAS
2002-08-29 10:19
2002.09.09
Перетаскивание формы, если ее BorderStyle = bsNone


14-27227
dmtr
2002-08-14 17:48
2002.09.09
Кто работает с сетями?