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 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.