Форум: "Начинающим";
Текущий архив: 2007.11.18;
Скачать: [xml.tar.bz2];
ВнизCanvas.Draw, Bitmap, ImageList Найти похожие ветки
← →
nAlex (2007-10-24 13:28) [0]У меня есть ImageList с загруженным в него bmp. В TListView CustomDrawItem я отрисовываю самостоятельно пункты, но вот вопрос, как мне сделать этот Bitmap прозрачным? Сейчас поясню:
Сначала я отрисовываю выделение пункта:if Item.Selected then
...
ListView1.Canvas.Rectangle(...)
А потом рисую Bitmap из листа:ListView1.Canvas.Draw(1, IconRect.Top + 1, B);
И получается, что моим рисунком часть выделения (Rectangle) перекрывается, как можно добиться частичной прозрачности? Как в TImage.Transparent.
← →
nAlex (2007-10-24 13:29) [1]Ещё, сделано это, но не помогает:
B := TBitmap.Create;
B.Transparent := True;
B.TransparentMode := tmAuto;
← →
homm © (2007-10-24 13:30) [2]у ListView1 нет что-то наподобии ТрнсперентКолор?
← →
homm © (2007-10-24 13:31) [3]Не то сморозил…
> [0] nAlex (24.10.07 13:28)
> [1] nAlex (24.10.07 13:29)
Какое отношение имеет ко всему этому ImageList ?
← →
nAlex (2007-10-24 13:33) [4]Самое прямое, я битмап загружаю из ImageList. Возможно я не так как надо его оттуда достаю...
ImageList1.GetBitmap(Item.ImageIndex, B);
← →
homm © (2007-10-24 13:35) [5]> [4] nAlex (24.10.07 13:33)
у ImageList, насколько я помню, есть метод Draw, который рисует с учетом прозрачного цвета.
← →
nAlex (2007-10-24 13:38) [6]Бррр.. что то я не понял, я же загружаю из него в битмап а Draw делаю для ListView.Canvas.
← →
homm © (2007-10-24 13:39) [7]> [6] nAlex (24.10.07 13:38)
> Бррр.. что то я не понял, я же загружаю из него в битмап
> а Draw делаю для ListView.Canvas.
А ты не делай так.
← →
homm © (2007-10-24 13:40) [8]ImageList.Draw(ListView.Canvas,1,IconRect.Top+1,Item.ImageIndex)
← →
Ega23 © (2007-10-24 13:44) [9]
bmp := TBitmap.Create;
bmp.Transparent := True;
bmp.TransparentMode := tmAuto;
try
bmp.LoadFromStream(ms);
bmp.Width := Width;
bmp.Height := Height;
ImageIndex := ImageList.AddMasked(bmp, bmp.TransparentColor);
except
ImageIndex:=-1;
end;
← →
homm © (2007-10-24 13:53) [10]> [9] Ega23 © (24.10.07 13:44)
Здается мне, что это код добавления новой картинки с диска, а у автора уже есть картика из дизайнтайма и ему ее нужно просто нанести.
← →
nAlex (2007-10-24 13:55) [11]Спасибо. Совет
> homm © (24.10.07 13:40) [8]
очень помог.
← →
Ega23 © (2007-10-24 14:06) [12]
> Здается мне, что это код добавления новой картинки с диска,
> а у автора уже есть картика из дизайнтайма и ему ее нужно
> просто нанести.
Ну да, только не с диска, а из БД.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.11.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 6.006 c