![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Encontré el siguiente código en la página que me mandaste Gydba:
Código:
//This function adds a sepia effect to a bitmap. //the 'depth' sets the colour intensity of the red-brown colour //greater numbers set a higher intensity. //To create a greyscale effect instead, set 'depth' to 0 function bmptosepia(const bmp: TBitmap; depth: Integer): Boolean; var color,color2:longint; r,g,b,rr,gg:byte; h,w:integer; begin for h := 0 to bmp.height do begin for w := 0 to bmp.width do begin //first convert the bitmap to greyscale color:=colortorgb(bmp.Canvas.pixels[w,h]); r:=getrvalue(color); g:=getgvalue(color); b:=getbvalue(color); color2:=(r+g+b) div 3; bmp.canvas.Pixels[w,h]:=RGB(color2,color2,color2); //then convert it to sepia color:=colortorgb(bmp.Canvas.pixels[w,h]); r:=getrvalue(color); g:=getgvalue(color); b:=getbvalue(color); rr:=r+(depth*2); gg:=g+depth; if rr <= ((depth*2)-1) then rr:=255; if gg <= (depth-1) then gg:=255; bmp.canvas.Pixels[w,h]:=RGB(rr,gg,b); end; end; end; //Example: procedure TForm1.Button1Click(Sender: TObject); begin bmptosepia(image1.picture.bitmap, 20); end; Y tampoco entiendo porque es una función que retorna un buleano y sin el codigo "return". Bueno, espero que alguno se de cuenta donde está el error o que hago mal. Muchas gracias.
__________________
Tome Pin y haga Pum! |
#2
|
||||
|
||||
Cita:
Antes de que lo preguntes... ![]() Convert JPEG to BMP
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Por fin! Muchas gracias a todos por responder mis inquietudes. Probé las dos funciones que estaban en cuestión y funcionaron las dos perfectamente. Nuevamente, gracias a todos por responderme este post. Saludos, Nacho.
PD: Había que pasar nomás el JPG a BITMAP. ![]()
__________________
Tome Pin y haga Pum! |
#4
|
||||
|
||||
Hola Nacho!
Recibí tu correo en donde me pides que te explique como puedes modificar la escala de tonos sepia que puse como ejemplo en el código. Voy a publicar el código que utilicé para crearla, por si le interesa a alguien más. Con esta función puedes llenar un arreglo con un gradiente de colores.
Con esta función lo puedes enviar a un archivo de texto para después incluirla en el código.
Un ejemplo de como puedes llamar la función.
Con este ejemplo creas una escala de tonos que comienza en NEGRO, pasando por ROJO y que termina en BLANCO. Puedes experimentar con otros colores para obtener mejores efectos. Un saludo. |
#5
|
|||
|
|||
![]() Nuevamente muchas gracias!
![]()
__________________
Tome Pin y haga Pum! |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
|