Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

274
Views
¿Cómo obtener las dimensiones de la imagen (ancho x alto, en píxeles) desde la ruta del archivo y luego a la salida?

Estoy tratando de proporcionar una filepath de archivo a una imagen en mi computadora, extraer la altura y el ancho de la imagen en píxeles, luego generar esos números para su uso posterior, idealmente en una hoja de cálculo de Excel. El proceso completo haría esto para todas las imágenes en una carpeta.

Para obtener el contexto completo de lo que está sucediendo aquí: esta información se utilizará en última instancia para tomar decisiones en el flujo de trabajo completo sobre a qué carpetas enviar estas imágenes en función de sus dimensiones.
Por ejemplo: las imágenes cuyas dimensiones son muy cercanas a un cuadrado 1:1 se enviarán a la carpeta "CUADRADO". Aquellos cuyas dimensiones sean más cercanas a las dimensiones 3:2 se enviarán a esa carpeta. Etcétera. El proceso completo aquí básicamente automatizará la función de evaluar las dimensiones de la imagen para determinar qué formatos de imagen estándar son los más cercanos y luego los carpetará en consecuencia.

Todos estos pasos posteriores los haré dentro de PowerAutomate, simplemente porque me siento muy cómodo trabajando allí y podría realizar fácilmente el resto de este proceso usando PowerAutomate. Sin embargo, por alguna razón, no tienen una función para obtener las propiedades de la imagen (como el alto y el ancho de la imagen) y luego almacenan esa información para su uso posterior como una variable.

Entonces, básicamente, necesito usar algún método externo rápido y efectivo para recopilar estos datos de imagen, y luego, la forma más sencilla de poder recogerlos sería simplemente escribir esta información en una hoja de cálculo de Excel.

Dado que recorrería todas las imágenes en una carpeta, necesitaría escribir los datos de la imagen para la Imagen 1 en la carpeta en la Fila 1, por ejemplo, la altura de la imagen en píxeles escritos en la celda A1, el ancho de la imagen en píxeles escritos en B2. La información de la imagen 2 se escribiría entonces en A2 + B2. Etc hasta completar.

¿Alguna idea sobre la forma más sencilla en que podría hacer esto con algún tipo de programa de computadora? Podría ser Javascript, realmente cualquier cosa que pueda ejecutar fácilmente en mi computadora local.

Soy un completo novato cuando se trata de Javascript, etc. Recién comienzo a aprender los conceptos básicos. Si pudiera ir más allá y proporcionarme un programa de plantilla que lograra esto, con una carpeta de imagen de plantilla que luego podría sustituir con mi ruta de archivo, y también una ruta de archivo de plantilla de Excel que podría reemplazar con la que yo haría. use (una especie de // SUSTITUYA SU ARCHIVO DE CARPETA DE IMAGEN AQUÍ tipo de acuerdo) -- ¡eso sería francamente increíble! Incluso algunos recortes para ponerme en marcha serían muy útiles.

Encontré un recurso en línea que recomienda algo como esto (la mayoría de las imágenes de portada a través de URL, no rutas de archivos), sin embargo, no he tenido suerte con la ejecución exitosa de esto. Sin embargo, parece ser un paso en la dirección correcta:

 using (Image img = System.Drawing.Image.FromFile("C:\Users\suppo\Pictures\testing\this-is-a-test-product-image-1.jpg")) { int height = img.Height; int width = img.Width; } alert("Current width=" + width + ", " + "Original height=" + height);

Luego, en lugar de mostrar los resultados como un mensaje de alerta, idealmente escribiría estos resultados en las celdas respectivas de una hoja de cálculo de Excel cuya ruta de archivo se proporcionaría en algún lugar aquí. Luego, todo se repetiría sobre todas las imágenes en la carpeta, y la fila en la que escribiría las salidas correspondería al paso actual en el proceso de bucle, con la cantidad de veces que se ejecutaría a través del bucle obviamente correspondiente a el número de archivos en la carpeta dada.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Terminé escribiendo un script de Python para lograr esto. No está mal solo para descargar Python y comenzar con "¡Hola mundo!" Hace unas 3 horas!

 import os directory = "C:\\Users\\suppo\\Pictures\\testing" APP_FOLDER = "C:\\Users\\suppo\\Pictures\\testing" totalFiles = 0 totalDir = 0 for base, dirs, files in os.walk(APP_FOLDER): print('Searching in : ',base) for directories in dirs: totalDir += 1 for Files in files: totalFiles += 1 print('Total number of files',totalFiles) print('Total Number of directories',totalDir) print('Total:',(totalDir + totalFiles)) import xlsxwriter #create file (workbook) and worksheeet outWorkbook = xlsxwriter.Workbook("Testing Excel Python v1.xlsx") outSheet = outWorkbook.add_worksheet() for file_index, filename in enumerate(os.listdir(directory)): if filename.endswith(".jpg") or filename.endswith(".png"): from PIL import Image # get image filepath = 'C:\\Users\\suppo\\Pictures\\testing\\' + filename img = Image.open(filepath) # get width and height width = img.width height = img.height # display width and height print("The height of the image is: ", height) print("The width of the image is: ", width) outSheet.write(f"A{file_index+1}", width) outSheet.write(f"B{file_index+1}", height) outSheet.write(f"C{file_index+1}", "C:\\Users\\suppo\\Pictures\\testing\\" + filename) outWorkbook.close()
about 4 years ago · Juan Pablo Isaza Report

0

¿Tiene que ser un verdadero archivo Excel .xlsx ? Si puede usar un CSV, puede usar un script de Powershell como este (asegurándose de ejecutarlo desde el directorio en el que se colocan las imágenes):

 Get-ChildItem | ForEach-Object { $img = [System.Drawing.Image]::FromFile("$_") $width = $img.Width $height = $img.Height echo "$width,$height,$_" } | Out-File -FilePath "image-dimensions.csv"

Estoy ejecutando esto en Linux, por lo que el formato de la ruta del archivo será diferente, pero así es básicamente como se verá el archivo de salida:

 550,366,/home/example/Pictures/foo.jpg 256,256,/home/example/Pictures/bar.jpg 640,482,/home/example/Pictures/kitten.png

Luego puede importar el CSV a Excel.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!