Полупрозрачный bitmap как в ACDSee
или в некоторых других программах в галереях картинок (например, Picasa). Сколько ни пытался так сделать - ничего не получалось. Хотел сделать, чтобы картинка была прозрачная и в оттенках белого.
эффекта полупрозрачности можно добиться сведением bitmap'ов....
эффекта полупрозрачности можно добиться сведением bitmap'ов....
То есть? Как это делается, на конкретном примере?
То есть? Как это делается, на конкретном примере?
var
SourceSL: PByteArray;
DestSL: PByteArray;
I, J, Imax, Jmax: Integer;
begin
//обязательное условие
//Source.PixelFormat = pf24bit
//Dest.PixelFormat = pf24bit
if (Source.PixelFormat <> pf24bit) or (Dest.PixelFormat <> pf24bit) then Exit;
//определяем границы сведения
Jmax := Min(Source.Height, Dest.Height - Y);
Imax := Min(Source.Width, Dest.Width - X);
//и собственно сведение
J := 0;
while J < Jmax do begin
SourceSL := Source.ScanLine[J];
DestSL := Dest.ScanLine[J + Y];
I := 0;
while I < Imax do begin
DestSL[(I + X) * 3 + 0] := Round(SourceSL[I * 3 + 0] * Alpha + DestSL[(I + X) * 3 + 0] * (1 - Alpha));
DestSL[(I + X) * 3 + 1] := Round(SourceSL[I * 3 + 1] * Alpha + DestSL[(I + X) * 3 + 1] * (1 - Alpha));
DestSL[(I + X) * 3 + 2] := Round(SourceSL[I * 3 + 2] * Alpha + DestSL[(I + X) * 3 + 2] * (1 - Alpha));
Inc(I);
end;
Inc(J);
end;
end;
Source рисуется на Dest со смещением (X, Y) и прозрачностью Alpha
X, Y - координаты в пикселях
Alpha - коэффициент от 0 до 1
и ещё... для работы в uses необходимо прописать Math...
Кстати, какая, на Ваш взгляд, версия Delphi наиболее удачная?
Огромное Вам спасибо! Сегодня же проверю на Delphi 7.
Кстати, какая, на Ваш взгляд, версия Delphi наиболее удачная?
главное, на мой взгляд, чтоб руки из нужного места росли.. ))) сам в D2005 пишу.. иногда в D7.. и уж совсем редко в D3...
главное, на мой взгляд, чтоб руки из нужного места росли.. ))) сам в D2005 пишу.. иногда в D7.. и уж совсем редко в D3...
А где Вы покупали Delphi 2005 и на чём (CD или DVD)? А то вот я купил на CD в архиве 7-zip Delphi 2005, а она неправильная оказалась: так и не смог ни одного компонента ActiveX зарегистрировать. Хотелось бы на DVD, только вот не знаю, где...
А где Вы покупали
а я не покупал.... я вообще редко чё покупаю... ))))
а я не покупал.... я вообще редко чё покупаю... ))))
Неужели скачивали 1,4 ГБ из eMule'я?!
Кстати, я собираюсь провернуть это дело: сказать образ DVD с Delphi 2005 весом 1,4 ГБ. Для модема это тяжеловато, но, так как в ближайшие полгода качать всё равно нечего...
обсуждайте подобные вопросы через личные сообщения.
тема закрыта