Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];

Вниз

алгорим подложки текстуры под битмап?   Найти похожие ветки 

 
AlexT1000   (2003-06-18 15:06) [0]

кто-нибудь знает алгоритм подложки текстуры под битмап ( см фотошоп эффекты слоя текстура)?


 
Stexen   (2003-06-19 23:25) [1]

что именно нужно не очень понял фотошопом не пользуюсь? я понял как какую то полупрозрачность может и нет ну напиши по подробнее


 
AlexT1000   (2003-06-20 12:03) [2]

это когда текстура как бы проступает т.е передает свой рельеф тому битмапу, под который она подкладывается .
это не прозрачность!

пока сам не увидишь не поймешь. типа bump-mapping вроде того


 
AlexT1000   (2003-06-20 14:57) [3]

я нашел как это делается. это делается через блендингмоде Overlay!


 
Fenik   (2003-06-22 02:00) [4]

> блендингмоде Overlay

Объясни, плз.


 
AlexT1000   (2003-06-23 14:19) [5]

ну это такой режим смешивания битмапов . см фотошоп . ты кста можешь скачать этот и несколько других режимов с сайта G32. там в выкладках пользователей

для остальных просто привожу код

procedure Underlay(B1,B2 :TBitmap32);
Var i , j ,ii,jj,xx,yy,h : integer ;
C : TColor32;
P1 ,P2 , P3 : PColor32Array;
begin
P1 := B1.Bits;
P2 := B2.Bits;
C := Color32(255,255,255,255);
h := B2.Height;
for i:=0 to B1.Height-1 do
for j:=0 to B1.Width-1 do begin
ii := i * B1.Width + j;
yy := i mod h ;
xx := j mod B2.Width ;
jj := yy * h + xx;
Overlay(P2[jj],P1[ii],C);
end;


end;


procedure Overlay(F: TColor32; var B: TColor32; M: TColor32);
var fR,fG,fB, bR,bG,bB, aM: cardinal;
begin
{Foreground Alpha and Master Alpha combined}
aM := M and $FF;
aM := F shr 24 * aM;
aM := aM shr 8;
if aM = 0 then exit; //exit if nothing changes ...
{Channel separation}
fR := F shr 16 and $FF;
fG := F shr 8 and $FF;
fB := F and $FF;
bR := B shr 16 and $FF;
bG := B shr 8 and $FF;
bB := B and $FF;
{Combine}
if bR < 128 then fR := bR * fR shr 7 else
begin
fR := 255 - fR;
bR := 255 - bR;
fR := bR * fR shr 7;
fR := 255 - fR;
bR := 255 - bR;
end;
if bG < 128 then fG := bG * fG shr 7 else
begin
fG := 255 - fG;
bG := 255 - bG;
fG := bG * fG shr 7;
fG := 255 - fG;
bG := 255 - bG;
end;
if bB < 128 then fB := bB * fB shr 7 else
begin
fB := 255 - fB;
bB := 255 - bB;
fB := bB * fB shr 7;
fB := 255 - fB;
( fR-bR) ну это такой режим смешивания битмапов . см фотошоп . ты кста можешь скачать этот и несколько других режимов с сайта G32. там в выкладках пользователей

для остальных просто привожу код

procedure Underlay(B1,B2 :TBitmap32);
Var i , j ,ii,jj,xx,yy,h : integer ;
C : TColor32;
P1 ,P2 , P3 : PColor32Array;
begin
P1 := B1.Bits;
P2 := B2.Bits;
C := Color32(255,255,255,255);
h := B2.Height;
for i:=0 to B1.Height-1 do
for j:=0 to B1.Width-1 do begin
ii := i * B1.Width + j;
yy := i mod h ;
xx := j mod B2.Width ;
jj := yy * h + xx;
Overlay(P2[jj],P1[ii],C);
end;


end;


procedure Overlay(F: TColor32; var B: TColor32; M: TColor32);
var fR,fG,fB, bR,bG,bB, aM: cardinal;
begin
{Foreground Alpha and Master Alpha combined}
aM := M and $FF;
aM := F shr 24 * aM;
aM := aM shr 8;
if aM = 0 then exit; //exit if nothing changes ...
{Channel separation}
fR := F shr 16 and $FF;
fG := F shr 8 and $FF;
fB := F and $FF;
bR := B shr 16 and $FF;
bG := B shr 8 and $FF;
bB := B and $FF;
{Combine}
if bR < 128 then fR := bR * fR shr 7 else
begin
fR := 255 - fR;
bR := 255 - bR;
fR := bR * fR shr 7;
fR := 255 - fR;
bR := 255 - bR;
end;
if bG < 128 then fG := bG * fG shr 7 else
begin
fG := 255 - fG;
bG := 255 - bG;
fG := bG * fG shr 7;
fG := 255 - fG;
bG := 255 - bG;
end;
if bB < 128 then fB := bB * fB shr 7 else
begin
fB := 255 - fB;
bB := 255 - bB;
fB := bB * fB shr 7;
fB := 255 - fB;
bB := 255 - bB;
end;
{Blend}
bR := bR + (fR-bR)*aM shr 8;// bR := ( fR*aM + bR*(255-aM) )shr 8
bG := bG + (fG-bG)*aM shr 8;
bB := bB + (fB-bB)*aM shr 8;
{Reset - keeping B alpha}
B := B and $FF000000 or bR shl 16 or bG shl 8 or bB;
end;


 
Fenik   (2003-06-24 19:28) [6]

> AlexT1000 © (23.06.03 14:19)

Спасибо. Попробую понять..



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

Форум: "Media";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.011 c
3-89118
eds
2003-10-08 09:59
2003.10.27
Помогите произвести отбор данных по BLOB полю


14-89571
Yakudza
2003-10-07 14:18
2003.10.27
CoInitialize has not been called


3-89166
Sveta
2003-10-06 09:42
2003.10.27
Будьте добры , подскажите пожалуйста:


9-89087
Protey
2002-12-03 05:56
2003.10.27
Прозрачная картинка


14-89564
Knight
2003-10-07 23:08
2003.10.27
Ну вот прочитал...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский