Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Gráficos
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 08/08/2023
gusspagano gusspagano is offline
Miembro
 
Join Date: Mar 2012
Posts: 47
Poder: 0
gusspagano Va por buen camino
Quote:
Originally Posted by pgranados View Post
Yo tampoco entendí bien que es lo que buscas hacer.

Copie y pegue tu pregunta en ChatGPT y me dio escribió un código. No se si sea lo que busques

Código Delphi [-]
...
Creo que esto es lo que necesito, voy a intentarlo. ¡Te agradezco mucho!
Reply With Quote
  #2  
Old 08/08/2023
gusspagano gusspagano is offline
Miembro
 
Join Date: Mar 2012
Posts: 47
Poder: 0
gusspagano Va por buen camino
Una disculpa por la poca claridad. Sólo uso la programación ocasionalmente, y para asuntos sumamente básicos.

Supongamos que tengo una imagen con todos los pixeles en color blanco. Esta imagen tiene 100 columnas y 100 renglones.

Por otra parte tengo un archivo txt con tres columnas y 10,000 filas (100 columnas x 100 renglones = 10,000).

La primera columna del txt me indica a su vez una columna de la imagen, la segunda columna del txt me indica la fila de la imagen, la tercer columna del txt me indica un dato cuyo valor voy a utilizar para asignarle un color al correspondiente pixel de la imagen.

Por ejemplo, si la primera línea del txt fuera: 1 1 20. Significa que al pixel correspondiente a la columna 1, de la fila 1, le voy a dar un color que corresponde al valor 20.

Ahora, no sé cómo crear dicha "imagen" para empezar, y tampoco sé cómo pasarle valores. El código de ChatGPT que amablemente nos proporciona pgranados ayuda bastante.
Reply With Quote
  #3  
Old 08/08/2023
MAXIUM's Avatar
MAXIUM MAXIUM is offline
Miembro
 
Join Date: May 2005
Posts: 1,503
Poder: 23
MAXIUM Va camino a la fama
Usando PutPixel

Image.Canvas.Pixels[Pto.X, Pto.Y] := Color;

Aunque tampoco sé que clase de imagen quieres dibujar. Si lineas entre puntos o solo los puntos.
Reply With Quote
  #4  
Old 09/08/2023
gusspagano gusspagano is offline
Miembro
 
Join Date: Mar 2012
Posts: 47
Poder: 0
gusspagano Va por buen camino
Quote:
Originally Posted by MAXIUM View Post
Usando PutPixel

Image.Canvas.Pixels[Pto.X, Pto.Y] := Color;

Aunque tampoco sé que clase de imagen quieres dibujar. Si lineas entre puntos o solo los puntos.
Gracias por el aporte MAXIUM!

Intengo dibujar una imagen de precipitación estimada por radar, no hay puntos lineas y polígonos, solo pixeles de colores cuyo color indica la intensidad de lluvia en el momento del escaneo de la atmosfera.

Puede ser por ejemplo que la mayor intensidad de lluvia se represente con rojo intenso y la menor intensidad con verde suave. Los pixeles cuyas ubicaciones registren intensidades de cero o por inferiores de cierto umbral pueden ser transparentes o sin color.
Reply With Quote
  #5  
Old 09/08/2023
MAXIUM's Avatar
MAXIUM MAXIUM is offline
Miembro
 
Join Date: May 2005
Posts: 1,503
Poder: 23
MAXIUM Va camino a la fama
Quote:
Originally Posted by gusspagano View Post
Gracias por el aporte MAXIUM!

Intengo dibujar una imagen de precipitación estimada por radar, no hay puntos lineas y polígonos, solo pixeles de colores cuyo color indica la intensidad de lluvia en el momento del escaneo de la atmosfera.

Puede ser por ejemplo que la mayor intensidad de lluvia se represente con rojo intenso y la menor intensidad con verde suave. Los pixeles cuyas ubicaciones registren intensidades de cero o por inferiores de cierto umbral pueden ser transparentes o sin color.
Bueno, te dejo la primera parte que lee el txt y dibuja. Por supuesto hay formas más elegantes para cada proceso, pero mi idea es que sea facil de entender.

Le faltan cosas como escoger una mejor paleta de colores, poder limpiar y volver a dibujar, escalar, exportar la imagen, etc. Espero te sirva y me queda la duda si te pidieron usar Delphi u otro lenguaje, no porque no se pueda sino por curiosidad.

Archivo TXT de prueba
Code:
1 1 20
10 20 32
12 23 54
40 56 72
45 78 62
62 38 60
Código fuente
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
Var
   ArchivoTXT: TStringList;
   Desde, X, Y, Color: Integer;
   Valores: TArray<string>;
   Linea: String;
begin
  // Estructura para manejar archivos.
     ArchivoTXT:= TStringList.Create;

  // Abre un cuadro de dialogo para cargar un archivo en la estructura ArchivoTXT.
     If OpenDialog1.Execute Then
        ArchivoTXT.LoadFromFile(OpenDialog1.FileName);

  // Ciclo que va leyendo linea a linea el archivo cargado.
     For Desde:= 0 To (ArchivoTXT.Count -1) Do
     Begin
          Linea:= ArchivoTXT.Strings[Desde];
          Valores:= Linea.Split([' ']);      // Extrae los valores de la linea (sepadaos por espacio)-
          X    := StrToInt(Valores[0]);      // El primer valor lo convierte a número y lo usa para la posición X
          Y    := StrToInt(Valores[1]);      // El segundo valor lo convierte a número y lo usa para la posición Y
          Color:= StrToInt(Valores[2]);      // El tercer valor lo convierte a número y lo usa para el color.

       // Dibuja un pixel en la posición y color.
          Image1.Canvas.Pixels[X, Y]:= Color;
     End;

  // Libera la estructura.
     ArchivoTXT.Free
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  // Dibuja un rectangulo para resaltar el área de dibujo.
     Image1.Canvas.Rectangle(0, 0, 101, 101);
end;

Componentes usado


Datos cargados


Zoom de los datos cargados
Reply With Quote
  #6  
Old 07/09/2023
gusspagano gusspagano is offline
Miembro
 
Join Date: Mar 2012
Posts: 47
Poder: 0
gusspagano Va por buen camino
Finalmente se pudo.

Gracias a todos por ayuda. Saludos!
Reply With Quote
  #7  
Old 07/09/2023
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,678
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
saber valores de base de piramide a partir de su resultado aguml Varios 19 05/03/2015 14:02
Crear Imagen A Partir De Texto (x,y,z) gusspagano Gráficos 17 23/10/2012 22:49
Como descargar una imagen a partir de la url Oxis Internet 2 20/07/2006 20:04
Alineacion de valores numericos en Printer JOMABRI Impresión 11 27/07/2005 17:55
Como manipular los pixeles la matriz de valores en una imagen en escala de grises erocha Gráficos 4 30/11/2003 06:20


All times are GMT +2. The time now is 04:49.


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