Форум: "Media";
Текущий архив: 2003.04.17;
Скачать: [xml.tar.bz2];
ВнизРазмытие изображения Найти похожие ветки
← →
albom (2002-12-21 23:55) [0]У меня программа (сделанная на OpenGl) рисует сцену, при этом используются такие вещи, как GluDisk. Так при разрешении 1024*768 все выгладит отлично, а при разразрешии 640*480 просто отстой, появляются всякие мелкие точки, неровности. Вопрос такой: как размыть полученное изображение, т.е. сделать его более плавным?
← →
Dima1 (2003-01-19 02:49) [1]попробуй
В этом способе цвету каждой точки присваивается среднее значение цветов соседних точек.
procedure TForm1.Button1Click(Sender: TObject);
const
width = 100;
height = 60;
d = 2;
var
x, y: integer;
i, j: integer;
c: integer;
Pix: array [0..width-1, 0..height-1] of byte;
begin
randomize;
with Form1.Canvas do begin
Font.Name := "Arial";
Font.Size := 30;
TextOut(d, d, "Text");
for y := 0 to height - 1 do
for x := 0 to width - 1 do
Pix[x,y] := GetRValue(Pixels[x,y]);
for y := d to height - d - 1 do begin
for x := d to width - d - 1 do begin
c := 0;
for i := -d to d do
for j := -d to d do
c := c + Pix[x+i,y+j];
c := round(c / sqr(2 * d + 1));
Pixels[x,y] := RGB(c, c, c);
end;
Application.ProcessMessages;
end;
end;
end;
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2003.04.17;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.008 c