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

Вниз

TFastDIB и переворот изображения.   Найти похожие ветки 

 
PenguinX ©   (2004-06-23 14:53) [0]

Почему при повороте изображения по его (изображения) краям появляются чёрная линия шириной в 1-2 пиксела? Изначально изображение не имеет этих полос.


 
PenguinX ©   (2004-06-24 08:11) [1]

Что, никто не сталкивался?


 
DimKa ©   (2004-06-24 17:41) [2]

Я - не-а


 
DimKa ©   (2004-06-24 17:41) [3]

Напиши код, может разберемся...


 
PenguinX ©   (2004-06-25 08:10) [4]

procedure Form1.Button1Click(Sender: TObject);
var b1, b2: TFastDIB;
begin
b1 := TFastDIB.Create;
b2 := TFastDIB.Create;
b1.SetInterface(Image1.Picture.Bitmap.ScanLine[Image1.Picture.Bitmap.Height - 1], Image1.Picture.Bitmap.Width, Image1.Picture.Bitmap.Height, 24, 0, 0, 0);
Rotate90CW(b1, b2);
Image2.Canvas.Handle := b2.hDC;
Image2.Refresh;
end;
И ещё: как после этого БЫСТРО очистить канву? Image1.Canvas.Refresh - не помогает. Помогло только варвaрское Image1.Hide; Image1.Show;


 
PenguinX ©   (2004-06-26 14:42) [5]

Так что в моём коде неправильно?


 
Sapersky   (2004-06-28 20:55) [6]

Если не считать отсутствия уничтожения FastDIB"ов (а также случаев, когда битмап не 24 bpp, или вообще не битмап), то всё правильно.
А линия - это Rotate так работает, видимо. Там используется универсальная процедура для поворота на любой угол и масштабирования Transform, ну и получаются ошибки округления. К тому же это неоптимально. В общем, нужно специализированную писать.
Насчёт очистить канву - не понял. Изображение (пиксели) замазать или картинку из Image убрать?



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

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

Наверх




Память: 0.48 MB
Время: 0.061 c
4-1091637867
AD_infiniTUM
2004-08-04 20:44
2004.09.19
Как определить ширину текста


3-1093239774
DennisLNC
2004-08-23 09:42
2004.09.19
строка в число


4-1091541356
volser
2004-08-03 17:55
2004.09.19
Хуки


1-1094113953
Zhekson
2004-09-02 12:32
2004.09.19
MessgeDlg


1-1094472756
Andrey
2004-09-06 16:12
2004.09.19
Windows XP