IMAGEN A ESCALA DE GRISES EN JAVA

Jeff Aporta
5 Dec 202114:19

Summary

TLDREl video presenta un algoritmo avanzado para transformar una imagen a escala de grises o blanco y negro. Se recomienda tener conocimientos básicos de programación para seguir el tutorial. Se inicia creando un proyecto llamado 'Tratamiento de Imágenes' con una interfaz gráfica utilizando Swing o WinForms. Se explica cómo hacer que la ventana abarque todo el tamaño de la pantalla y cómo cargar una imagen desde una ruta local o una URL. Luego, se detalla cómo cambiar el tamaño de la ventana para que no sea demasiado pequeña al cambiar la imagen. El núcleo del video es la función 'Escala de Grises', que convierte una imagen a blanco y negro calculando el promedio de los canales rojo, verde y azul. El autor corrige un error al importar la clase incorrecta y finaliza la función para que la imagen se muestre correctamente en blanco y negro. El video concluye con información sobre cómo obtener el código fuente y cómo contactar al creador para más asistencia o retos relacionados con la programación.

Takeaways

  • 📝 Se está creando un algoritmo para dibujar una imagen en blanco y negro o escala de grises.
  • 💡 Se asume que el espectador tiene conocimientos básicos de programación y no se explicarán detalles minuciosos.
  • 💻 Se utiliza un proyecto llamado 'Tratamiento de Imágenes' con una interfaz gráfica creada con Swing o WinForms.
  • 🖼️ Se muestra cómo cargar una imagen a través de una ruta local o una URL en línea.
  • 🔍 Se menciona la necesidad de manejar excepciones en caso de errores en la carga de la imagen.
  • 🖌️ Se describe cómo cambiar el tamaño de la ventana para que ocupe toda la pantalla y cómo establecer su posición.
  • 🖇️ Se indica cómo establecer el icono de la ventana con una imagen cargada.
  • 🔄 Se explica cómo transformar una imagen en escala de grises, tomando en cuenta los canales rojo, verde y azul.
  • 📐 Se discute la importancia de establecer el tamaño de la ventana antes de su posición para evitar problemas de visualización.
  • 🛠️ Se proporciona un código que realiza la conversión de una imagen a escala de grises, incluyendo la obtención de los canales RGB y el cálculo del valor de gris.
  • 📚 Se recomienda tener en cuenta conceptos previos para entender el algoritmo y se ofrece el código en la descripción del vídeo para ser copiado y utilizado en proyectos personales.

Q & A

  • ¿Qué conocimientos básicos son necesarios para entender el algoritmo presentado en el video?

    -Se necesitan conocimientos básicos de programación y, específicamente, de la manipulación de imágenes en escala de grises o en blanco y negro.

  • ¿Cómo se llama el proyecto que se va a crear en el video?

    -El proyecto se llama 'tratamiento de imágenes' y se enfoca en la creación de una interfaz gráfica para manipular imágenes.

  • ¿Qué tipo de ventana se utiliza para que el elemento de dibujo pueda ocupar toda el área de la ventana?

    -Se utiliza una ventana con un diseño de cuadrícula (grid layout) para que el elemento de dibujo pueda abarcar todo el espacio disponible.

  • ¿Qué métodos se utilizan para hacer que la ventana se expanda a todo el tamaño de la pantalla del computador?

    -Se utilizan los métodos `setExtendedState(MAXIMIZED_BOTH)` y `setVisible(true)` para expandir la ventana a la pantalla completa.

  • ¿Cómo se declara una función para cargar una imagen en el proyecto?

    -Se declara una función que retorna un buffer de imagen (BufferedImage) y recibe una ruta como argumento, pudiendo ser una ruta local o una URL en línea.

  • ¿Qué es lo que hace la función 'escala de grises' en el código?

    -La función 'escala de grises' toma una imagen como entrada y devuelve una nueva imagen en escala de grises, calculando el promedio de los canales rojo, verde y azul para cada píxel.

  • ¿Cómo se corrige el error de acceso a la variable 'leyBold' desde el método main?

    -Se corrige accediendo a la variable 'leyBold' desde el constructor de la clase 'Escala de Grises', en lugar de tratar de accederla directamente desde el método main.

  • ¿Qué es lo que se debe hacer antes de transformar una imagen a escala de grises?

    -Antes de transformar una imagen a escala de grises, se debe cargar la imagen correctamente y asegurarse de que se muestra en la ventana de la aplicación.

  • ¿Cómo se corrige el error de importación de clases en el código?

    -Se corrige asegurándose de que se importe la clase correcta para manejar imágenes, en este caso, la clase de Java AWT en lugar de la clase de JavaFX.

  • ¿Qué es lo que hace el método 'setDefaultCloseOperation' en el código?

    -El método 'setDefaultCloseOperation' se utiliza para establecer el comportamiento de la ventana cuando se cierra. En este caso, se establece para que el proceso se cierre completamente.

  • ¿Por qué es importante establecer el tamaño de la ventana antes de hacerla relativa a la pantalla?

    -Es importante establecer el tamaño de la ventana antes de hacerla relativa a la pantalla para evitar que la ventana se muestre demasiado pequeña o demasiado grande en la pantalla.

  • ¿Dónde se puede encontrar el código fuente y más información relacionada con el video?

    -El código fuente y más información relacionada con el video se pueden encontrar en la descripción del mismo.

Outlines

00:00

😀 Introducción al proyecto de tratamiento de imágenes

El primer párrafo introduce un proyecto de tratamiento de imágenes en escala de grises o blanco y negro. Se menciona la necesidad de conocimientos básicos en programación y se describe el proceso de creación de una interfaz gráfica con Swing o WinForms. Además, se detalla cómo configurar la ventana para que abarque todo el tamaño de la pantalla y cómo hacer que sea visible al usuario final.

05:01

🖼️ Cargar una imagen y su visualización

En el segundo párrafo, se aborda cómo cargar una imagen desde una ruta local o una URL en línea. Se describe la implementación de una función para manejar la carga de la imagen y cómo manejar posibles errores al cargarla. Además, se discute la visualización de la imagen en la ventana y cómo ajustar la alineación horizontal para que se muestre correctamente. Finalmente, se menciona la creación de una función para transformar la imagen a escala de grises.

10:03

🛠️ Errores y correcciones en la implementación

El tercer párrafo comienza con el reconocimiento de un error en el código, específicamente en la importación de la clase incorrecta. Se corrige la clase importada y se ajusta el código para manejar la transparencia de las imágenes PNG. Se detalla el proceso de extraer los canales rojo, verde y azul de una imagen y cómo calcular el valor de gris para cada píxel. Además, se menciona la importancia de establecer el tamaño de la ventana antes de configurar su posición en la pantalla. Finalmente, se concluye el video con una demostración del resultado y se ofrece el código en la descripción para que los espectadores puedan copiarlo en sus proyectos.

Mindmap

Keywords

💡Algoritmo

Un algoritmo es una serie de pasos ordenados que se realizan para resolver un problema o ejecutar una tarea específica. En el video, el autor estructura un algoritmo avanzado para dibujar una imagen en blanco y negro o en escala de grises, que es el tema central del tutorial.

💡Escala de grises

La escala de grises se refiere a una imagen en la que cada píxel es representado por diferentes tonos de gris, en lugar de los colores completos. Es un concepto fundamental en el video, donde se enseña cómo transformar una imagen en color a una en escala de grises.

💡BufferedImage

BufferedImage es una clase en Java que representa una imagen en la memoria. En el script, se utiliza para cargar y manipular imágenes, como parte del proceso de convertir una imagen a escala de grises.

💡Interfaz gráfica

La interfaz gráfica de usuario (GUI) es una forma de interactuar con una computadora a través de elementos visuales como ventanas, botones y menús. En el video, se menciona la creación de una GUI para el proyecto de tratamiento de imágenes.

💡Ley de diseño

Se refiere a las reglas y prácticas que guían la creación de interfaces de usuario. En el contexto del video, se utiliza la 'Ley de diseño' para establecer cómo se debe mostrar la imagen en la ventana de la aplicación.

💡Transparencia en imágenes

La transparencia en las imágenes se refiere a la capacidad de un píxel para ser transparente, lo que permite que los fondos se vean a través del mismo. En el video, se menciona la importancia de manejar la transparencia al trabajar con imágenes PNG.

💡RGB

RGB es un modelo de color utilizado para representar colores en la visualización de imágenes en dispositivos de salida, como monitores y televisores. El video discute cómo manipular los valores RGB de un píxel para convertir una imagen a escala de grises.

💡URL

Una URL (Localizador Uniforme de Recursos) es una secuencia de caracteres que identifica un recurso web. En el script, se utiliza para cargar una imagen desde una ruta en internet como parte del proceso de carga de imágenes en el algoritmo.

💡Try-catch

Try-catch es una construcción de programación utilizada para manejar excepciones, es decir, errores inesperados que pueden ocurrir durante la ejecución de un programa. En el video, se utiliza try-catch para manejar posibles errores al cargar imágenes.

💡Label

Un Label en una GUI es un componente que muestra texto o una imagen. En el video, se utiliza un label para mostrar la imagen en blanco y negro o en escala de grises una vez que se haya procesado.

💡Proceso de salida

El proceso de salida hace referencia a cómo un programa termina su ejecución. En el contexto del video, se menciona 'setDefaultCloseOperation' para establecer que al cerrar la ventana del programa, este último también finalizará.

Highlights

Se presenta un algoritmo avanzado para dibujar imágenes en blanco y negro o escala de grises.

Requiere conocimientos básicos de programación para entender el algoritmo.

Creará un proyecto llamado 'tratamiento de imágenes' con una interfaz gráfica.

Utilizará Swing o Winforms para diseñar la interfaz.

La ventana del programa abarcará todo el área de la pantalla.

Implementará un método para cargar imágenes desde una ruta local o una URL en línea.

Se manejarán excepciones para casos de error en la carga de la imagen.

El ícono de la ventana se cambiará usando una imagen previamente cargada.

Se explicará cómo transformar una imagen a escala de grises.

Se usará el promedio de los canales rojo, verde y azul para crear el valor de gris.

Se incluirá soporte para imágenes con canal alfa (transparencia).

Se abordará cómo establecer el tamaño de la ventana para una visualización adecuada de la imagen.

Se dará un ejemplo de cómo aplicar el filtro de escala de grises a una imagen.

El código fuente estará disponible en la descripción del vídeo.

Se incluirán enlaces de contacto y un canal de Telegram para retos y algoritmos relacionados.

Se resalta la eficiencia y brevedad del algoritmo de escala de grises.

Se menciona que los conceptos previos son necesarios para comprender el algoritmo.

Se despide y invita a la audiencia a suscribirse al canal de Telegram.

Transcripts

play00:02

hola amigos mi nombre es de fuego de lo

play00:05

en este vídeo vamos a estructurar un

play00:08

algoritmo para dibujar una imagen a

play00:12

blanco y negro o en escala de grises

play00:14

entonces lo primero que tengo que

play00:17

aclarar es que para este algoritmo

play00:19

tienen que tener conocimiento básico de

play00:21

lo que es ya va ya que voy a enseñarles

play00:26

un algoritmo un poco avanzado y no voy a

play00:30

explicar a detalle todos los detalles

play00:32

todo lo la estructura básica en el

play00:34

lenguaje simplemente voy a explicar el

play00:36

algoritmo

play00:38

entonces lo que vamos a hacer es crear

play00:43

un proyecto acá lo va a llamar

play00:44

tratamiento de imágenes este proyecto

play00:47

vamos a crearle una interfaz gráfica

play00:50

esto lo hacemos dándole clic derecho acá

play00:53

encima al package le vamos a dar en new

play00:56

hánover y ahora vamos a seleccionar la

play00:59

carpeta que dice swing winforms y vamos

play01:01

a seleccionar esta que dice un hotal

play01:02

frame form y le damos en siguiente y le

play01:05

damos el título de nuestro proyecto en

play01:07

este caso sería escala de grises

play01:08

entonces selecciono escala de grises y

play01:12

ahora vamos a hacer lo siguiente como

play01:14

vamos a mostrar una imagen entonces

play01:16

vamos a darle clic derecho a la ventana

play01:19

y ahora le vamos a dar en grid layout

play01:22

esto para hacer de que nuestro elemento

play01:26

que va a representar la superficie de

play01:29

dibujo puede ocupar toda el área de la

play01:31

ventana entonces en este caso vamos a

play01:33

utilizar un ley bold seleccionó aquí el

play01:35

ley bold y ahora simplemente lo va a dar

play01:37

clic derecho editar texto va a borrar el

play01:39

peso que tiene por defecto y bueno en

play01:42

este momento vamos a ahorrar todo digo

play01:45

del mail y vamos a borrar los

play01:47

comentarios vamos a dejar este archivo

play01:49

limpio para empezar el proyecto entonces

play01:52

vamos a declarar primero nuestro main y

play01:54

ahora vamos a declarar una ventana de

play01:56

tipo j frame vamos a decirle a la

play01:58

ventana que va a ser un igual la unión j

play02:00

frame y va a tener un set location

play02:03

relativa to en un set de folk los

play02:07

operation en exit un close esto lo que

play02:10

hace es lo siguiente el set location

play02:12

relativa tú lo que hace es entrar la

play02:14

ventana en toda la pantalla del

play02:15

computador el set de folklore operation

play02:18

lo que hace es cerrar el proceso

play02:24

dejaba en la cpu

play02:27

en la la en el administrador de tareas

play02:31

cuando se cierre esta ventana o sea

play02:33

cierre esta ventana y se acaba el

play02:34

programa eso es lo que quiere decir

play02:36

vamos a y vamos a expandir esta

play02:38

ventana a todo el tamaño de la pantalla

play02:41

del computador

play02:42

esto es fácil solamente colocamos set

play02:45

eckstein state maximixe wood y ahora le

play02:49

vamos a decir a la ventana que sea

play02:50

visible estos días con usted bissey bold

play02:52

y le pasamos un argumento que hacer tuvo

play02:55

y bueno ahora ejecutemos y pueden ver

play02:58

que tenemos una ventana que nos ocupa

play02:59

todo el todo él es posible de la

play03:01

pantalla del computador esto es bueno

play03:03

así que ahora vamos a cerrarla y vamos a

play03:05

hacer lo siguiente

play03:07

vamos a declarar a cabo una función para

play03:10

cargar una imagen esta va a retornar un

play03:13

buffer eddy merckx y va a recibir una

play03:16

ruta esta ruta que va a recibir puede

play03:18

ser una ruta que está en el computador o

play03:21

una ruta que esté en internet la verdad

play03:25

ya va es lo suficientemente poderoso

play03:27

para para cargar de forma fácil y rápida

play03:29

cualquiera de estas dos opciones ya sea

play03:32

online o ya sea en el computador de una

play03:35

ruta local

play03:37

entonces a cabo simplemente voy a

play03:41

retornar

play03:43

el primer caso que sería para una ruta

play03:45

local entonces return email a yo importó

play03:49

en la librería y ahora sería apuntó with

play03:52

y eta y el parámetro le pasó new fire y

play03:55

la ruta si esto arroja error nos vamos a

play03:58

ir para el caché y en caso tal de que

play04:00

nos vayamos para el caché entonces vamos

play04:03

a hacer lo siguiente vamos a declarar

play04:05

otro try catch donde ahora vamos a leer

play04:08

una url

play04:11

para esta ruta correspondiente y acá

play04:14

vamos a cambiar esta excepción por 12 en

play04:16

caso tal de que ninguna de las dos rutas

play04:18

exista o no sepa cargar por algún motivo

play04:20

vamos a decir que no se pudo cargar la

play04:23

imagen y vamos a retornar null

play04:26

ahora una vez que tengamos esto vamos a

play04:29

tener que agregar este icono algo de ley

play04:31

vol 1 pero para esto entonces vamos a

play04:33

tener que cambiar él

play04:36

el objeto al que corresponde la ventana

play04:39

la ventana ahora ya no va a ser un motor

play04:41

frame sino que va a ser nuestro objeto

play04:43

escala de imágenes que es el que

play04:45

contiene el botha frame que ocupa todo

play04:47

el espacio de la ventana entonces

play04:48

simplemente hacemos esto ahora le vamos

play04:50

a decir lejos de ley vol 1 que va a

play04:52

cambiar su icono concepto icon y acá le

play04:55

vamos a pasar un email icon y le vamos a

play04:58

pasar cargar la imagen que esto aquí

play05:00

están generando un error

play05:02

y la verdad no sé por qué pero vamos a

play05:06

ver

play05:08

bueno esto es debido

play05:11

para que está ley vol es una variable

play05:13

local no global no estática más bien

play05:16

como no es estática entonces no podemos

play05:19

no podemos acceder a ella desde el main

play05:21

tenemos que acceder a ella desde el

play05:24

constructor de la escala de grises

play05:25

entonces

play05:27

aquí vamos a colocar hot de ley vol 1

play05:31

punto set vamos a cortar y vamos a pegar

play05:34

y ahora encargar imagen le vamos a pegar

play05:36

una ruta la ruta correspondiente va a

play05:38

ser la de esta imagen que yo tengo

play05:40

preparada con anterioridad de esta

play05:43

imagen está lohan en y mgb éste es un

play05:47

aval orador de imágenes que nos permite

play05:49

con gran facilidad obtener urls fijos

play05:52

para una imagen alojada en internet

play05:54

entonces simplemente voy a bajar acá voy

play05:56

a presionar aquí en insertar y ahora voy

play06:00

a copiar la url y la voy a pegar acá en

play06:02

cargar imagen algo bueno el ingv

play06:06

es que los links que nos genera son

play06:09

bastante cortos es bastante elegante

play06:11

para usar entonces ya que tenemos esto

play06:15

ahora simplemente vamos hacer lo

play06:17

siguiente vamos a transformar esta

play06:20

imagen a una imagen en blanco y negro

play06:23

bueno y voy a aclarar algo acá en este

play06:26

argumento yo coloque una url de internet

play06:29

pero ustedes pueden colocar una ruta una

play06:31

ruta local de su computador

play06:34

cualquiera de las dos funciona para que

play06:36

ustedes puedan transformar la imagen

play06:39

entonces ahora ya que tenemos esto vamos

play06:41

a ejecutar y vamos a probar de que la

play06:43

imagen se está cargando correctamente

play06:45

pueden ver de que lehman se está viendo

play06:47

correctamente pero está viendo como a la

play06:48

izquierda esto es debido a que el ojo

play06:51

está 'label tiene

play06:55

el horizontal alignment en él y ting

play06:58

entonces vamos a cambiar esto por centre

play07:00

y ahora ya acabamos ya que lo cambiamos

play07:02

vamos a volver a ejecutar y pueden ver

play07:04

de que ahora sí le mans está viéndose

play07:05

entrada bueno entonces vamos a acá

play07:08

y vamos a declarar una función de tipo

play07:11

pública estática y que retornaron

play07:13

mujeres de email que sea llamar escala

play07:16

de grises iba a recibir un mujer el

play07:18

email de argumento y bueno esta imagen

play07:22

va a retornar otra imagen más bien esta

play07:24

función va a retornar una imagen

play07:26

entonces vamos a declarar acá el retorno

play07:30

este va a ser de tipo friend email se

play07:32

llama retorno va a ser igual a un niño

play07:34

mujeres de email donde va a tener las

play07:36

dimensiones

play07:36

de la imagen que entra por argumento

play07:40

esto sería con img punto gateway img

play07:43

punto que take y para darle

play07:44

transparencia como si fuera un png para

play07:47

hacerla de forma general vamos a

play07:49

colocarle que un 2 y ahora vamos a

play07:51

recorrer con un force la imagen de la

play07:54

siguiente manera vamos a recorrer con

play07:56

una variable llamada se la anchura de la

play07:59

imagen

play08:00

una variable llamada f la altura de la

play08:03

imagen

play08:04

esto lo que hará es recorrer todas las

play08:07

columnas y las filas correspondientes

play08:09

para los píxeles de la imagen ahora

play08:11

vamos a decirle el retorno que le vamos

play08:13

a modificar el rgb en esa columna con

play08:16

esa fila

play08:18

y el color bueno acá tenía pensado

play08:22

colocarlo todo en rojo pero no sé por

play08:25

qué no me está botando la opción de que

play08:27

te recibe eso está raro

play08:31

no está bastante raro presentados

play08:33

borremos y hagamos lo siguiente vamos a

play08:35

obtener la recibe de la imagen entonces

play08:37

esto sería con jeans rgb va a ser igual

play08:41

a img punto que rgb de la columna y la

play08:45

fila

play08:47

y ahora le vamos a pasar el relieve de

play08:49

la imagen y ya que teníamos la imagen de

play08:52

retorno cargada vamos a retornar el

play08:55

retorno ahora sí simplemente queda

play08:58

probar que esto se muchas 'no

play08:59

correctamente entonces pueda poderlo

play09:01

probar vamos a la función de

play09:03

escala de grises y la vamos a utilizar

play09:05

vamos a encerrar la función de cargar la

play09:07

imagen con la url que le hemos puesto y

play09:10

la vamos a encerrar dentro de la función

play09:12

de escala de grises le voy a dar formato

play09:14

a esta sección del código para que esto

play09:16

sea más legible porque veo que es otro

play09:19

que 'no todo el montón ado entonces una

play09:21

vez que tenemos esto vamos a darle clic

play09:25

derecho y run file y pueden ver de que

play09:28

la imagen se está viendo de la misma

play09:30

manera en que se vio antes esto es

play09:32

debido a que todavía no le hemos

play09:33

aplicado un filtro como tal solamente

play09:35

estamos haciendo una copia idéntica de

play09:38

la imagen que está recibiendo por

play09:39

argumento ahora vamos a este valor

play09:42

rgb y lo vamos a transformar en una

play09:45

escala de grises esto no es difícil

play09:48

aunque es un concepto bastante

play09:52

abstracto

play09:56

se hace en la siguiente manera vamos a

play09:58

definir una variable que se va a llamar

play09:59

color y va

play10:02

a obtener el rgv de la imagen bueno acá

play10:06

no sé por qué el código no me está

play10:07

funcionando bueno

play10:10

encontré el error esto es debido a que

play10:12

importe la clase equivocada importe la

play10:15

clase de java fx y no puede ser la clase

play10:17

java fx tiene que ser la clase d

play10:21

de java punto a w esta que aparece acá

play10:25

entonces la importó y ahora le pasó el

play10:29

ing punto que te rgb trump este como

play10:32

true es para que acepte la transparencia

play10:34

de la imagen porque ustedes van a

play10:36

utilizar imágenes png

play10:38

el error que está mostrando en este

play10:41

momento es debido al tipeo el tipo le

play10:43

estoy diciendo en este momento que se

play10:44

enteró pero tiene que ser color ahora ya

play10:47

que tengo esto simplemente imt rd rojo

play10:52

va a ser igual al color punto que es red

play10:53

y lo mismo para el canal verde y azul

play10:56

sería g y b y ahora en lugar de get red

play11:00

sería get green y get blue

play11:02

para obtener el canal rojo verde y azul

play11:05

ahora ya que tenemos esto programado

play11:09

de esta manera obteniendo los canales

play11:11

rojo verde y azul

play11:13

vamos a transformar estos tres valores

play11:14

en un gris esto es simplemente el

play11:16

promedio de los canales el gris es igual

play11:21

a r más que más dividido entre 3 porque

play11:24

tenemos tres canales y ahora si estamos

play11:26

trabajando con imágenes alfa entonces

play11:28

vamos a obtener el canal alfa el color

play11:30

sería y nt de alfa igual al color punto

play11:34

que alfa y ahora vamos a pasarle este

play11:37

color transformado

play11:41

a la imagen de retorno eso sería con new

play11:44

color y le pasamos el gris en los tres

play11:48

canales de color rgb y el alfa lo

play11:51

dejamos como tal como alfa y le decimos

play11:53

que vamos a obtener el rg v de este

play11:55

color y ahora esto que estoy señalando

play11:58

acá es el filtro correspondiente para

play12:00

transformar una imagen a blanco y negro

play12:02

esta es en esencia lo que hace cualquier

play12:05

algoritmo que transforma una imagen a

play12:07

blanco y negro es bastante corto es

play12:09

abstracto pero es muy fácil de

play12:11

implementar para poder entender lo

play12:13

necesitan conceptos previos así que

play12:16

bueno ahora le damos clic derecho a

play12:17

ejecutar y pueden ver de que ahora la

play12:19

imagen ya no está con colores está en

play12:22

blanco y negro y al momento de cambiar

play12:24

el tamaño pueden ver de que la ventana

play12:26

se hace demasiado pequeña para que esto

play12:29

no suceda acá en el en la estructura de

play12:32

la obligaba de la escala de grises voy a

play12:34

colocarle que el set tight va a ser de

play12:36

800 x 600 pero es muy importante que

play12:39

este set size este antes del set

play12:41

location relativa tú

play12:44

es muy importante que esté aquí

play12:46

anteriormente a esto entonces lo coloco

play12:49

antes del cen location relativa tube y

play12:52

vuelvo a ejecutar clic derecho ron file

play12:54

y pueden ver de que ahora cambie el

play12:56

tamaño de la ventana y la ventana ya no

play12:59

se hace extremadamente pequeña como se

play13:01

hacía antes ahora se hace un tamaño

play13:03

moderado en el que podemos seguir viendo

play13:04

la imagen ahora sí amigos con esto he

play13:08

concluido el contenido del vídeo ya

play13:10

saben de que esta función de acá que se

play13:12

llama escala de grises es la que se

play13:14

encarga de hacer la magia es bastante

play13:18

corta y bastante eficiente es muy buena

play13:21

para poder trabajar este tipo de

play13:23

comportamientos ya saben que el código

play13:26

lo van a poder encontrar en la

play13:28

descripción de este vídeo para que lo

play13:30

puedan copiar e importar a sus propios

play13:32

proyectos sin más que decir me despido y

play13:36

olvidaba recordarles algo

play13:40

en la descripción aparte de él y del

play13:44

proyecto van a poder encontrar

play13:48

enlaces a delegar y whatsapp para que me

play13:53

puedan contactar en el momento que

play13:55

deseen y también van a poder encontrar

play13:57

un link a un canal de tele

play14:00

donde estaré proponiendo retos mostrando

play14:02

algoritmos

play14:04

y cosas de este estilo uno

play14:07

para que ingresé en este canal y se

play14:09

suscriban ya sin más que decir ahora sí

play14:13

me despido nos vemos en una próxima

play14:15

ocasión hasta luego

Rate This

5.0 / 5 (0 votes)

Related Tags
AlgoritmosProgramaciónJavaEscala de GrisesImagenesDiseño GráficoTutorialInterfaz GráficaBufferedImageSwing
Do you need a summary in English?