Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #14  
Antiguo 05-06-2007
Kandorf Kandorf is offline
Miembro
 
Registrado: may 2007
Posts: 38
Poder: 0
Kandorf Va por buen camino
Me acerco al foro con vergüenza después de tanto tiempo.
Al programa le he ido dedicando unos días más tiempo y otros menos, ahora está casi listo, pero me surgen 3 problemas:
Cuando el pixel era demasiado oscuro, yo quería escribir el número en color blanco, y lo hacía de esta manera:
Código Delphi [-]
if (((GetRValue(Color)>50) and (GetGValue(Color)>50)) and (GetBValue(Color)>50)) then
  ColorPixel:=CLBlack     //ColorPixel es una variable en la que guardo el color del que voy a pintar el número
else
  ColorPixel:=CLWhite;
Pero sólo me tiene en cuenta la última comprobación de verdad, y un número que tenga mucho rojo y los demás tonos bajos (por ejemplo, el rojo), me lo pinta de color blanco. Hasta ahora no me había preocupado por este problema, porque tampoco pasa nada si el número me lo pinta de color blanco, pero es que esas 3 comprovaciones de verdad son un pilar básico en mi programa, ya que, al ser imágenes JPG las que utiliza, yo me creo un rango que comprueba el color para saber si es el mismo.
Mi pregunta es si hay alguna manera de hacer 3 comprobaciones de verdad en un "if" o si hay alguna manera distinta para conseguir el mismo resultado.

El otro problema que me ha surgido es que al guardar la imagen con el código que me dísteis al principio funcionaba perfectamente, pero ahora me da un error de violación de posición de memoria al terminar de ejecutar la función. Esta es la función:
Código Delphi [-]
procedure TFormulario.ActGuardarExecute(Sender: TObject);
var
  FotoJPEG : TJPEGImage;
  FotoBMP  : TBitmap;
begin
  if DiaGuardar.Execute then
  begin
    FotoBMP := TBitmap.Create;
    try
      FotoBMP:=Imagen.Picture.Bitmap;
      FotoJPEG:=TJPEGImage.Create;
      with FotoJPEG do
      begin
        Assign(FotoBMP);
        SaveToFile(DiaGuardar.FileName);
        Free;
      end;
    finally
      FotoBMP.Free;
    end;
  end;
end;
Que yo recuerde no he modificado la función desde que la hice y ahora me viene dándome problemas -_- No sé dónde está el cambio... ¿Sabríais decirme vosotros dónde está el problema?

EDIT: Se me olvidaba, no conozco la propiedad que cambia el color de la fuente del "Imagen.Canvas.Brush", lo he intentado con "Imagen.Canvas.Brush.Color:=clWhite;", pero lo que me cambia de color es el fondo (como si lo marcara con subrayador).

Después de solucionar estas tres cosas ya sólo me queda utilizar la propiedad que me pasásteis más rápida que pixels y poco más ^^.
Un Saludo y muchas gracias por vuestro tiempo.

Última edición por Kandorf fecha: 05-06-2007 a las 19:40:48.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
necesito ayuda para terminar un detalle vixente Conexión con bases de datos 0 01-06-2006 11:36:50
Necesito ayuda para imprimir por COM1... AFilth Impresión 3 11-02-2006 12:22:49
Necesito ayuda para manerjar archivos meosre Varios 2 08-09-2005 18:37:34
necesito ayuda para hacer un sistema para un billar rober Varios 14 29-07-2004 01:08:02
Necesito ayuda para aprobar... OnClick Varios 10 27-05-2003 02:12:05


La franja horaria es GMT +2. Ahora son las 02:44:54.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi