Contenidos
- Supongamos que tenemos las siguientes imágenes BMP (por motivos de seguridad no dejan subir BMP pero hay que convertirlas a BMP, ahora están en formato JPG)
- Script que representa las imágenes en la consola de PowerShell
- Script que representa la última línea del dibujo en la consola de PowerShell
- Script que representa las últimas líneas del dibujo en la consola de PowerShell
- Script que representa las últimas líneas del dibujo en la consola de PowerShell y permite dar sensación de altura al dibujo
Supongamos que tenemos las siguientes imágenes BMP (por motivos de seguridad no dejan subir BMP pero hay que convertirlas a BMP, ahora están en formato JPG)
Vista desde arriba | Vista desde arriba doblada |
Script que representa las imágenes en la consola de PowerShell
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$Cave = [System.Drawing.Bitmap]::FromFile( 'C:\Users\juan\Desktop\mapadoblarvistaarriba.bmp' ) for ($x = 1;$x -lt $Cave.Height;$x+=1) { for ($y = 1;$y -lt $Cave.Width;$y+=1) { $col = $Cave.GetPixel($y,$x).Name switch ($col) { "ff000000" { Write-Host " " -BackgroundColor Black -ForegroundColor White -NoNewLine } "ffffffff" { Write-Host " " -BackgroundColor White -ForegroundColor Black -NoNewLine } "ffb97a57" { Write-Host " " -BackgroundColor DarkBlue -ForegroundColor White -NoNewLine } "ffb5e61d" { Write-Host " " -BackgroundColor Green -ForegroundColor White -NoNewLine } default{ Write-Host " " -BackgroundColor White -ForegroundColor Black -NoNewLine } } } Write-Host "" } |
Script que representa la última línea del dibujo en la consola de PowerShell
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$Cave = [System.Drawing.Bitmap]::FromFile( 'C:\Users\juan\Desktop\mapadoblarvistaarriba.bmp' ) $x = $Cave.Height - 1 for ($y = 1;$y -lt $Cave.Width;$y+=1) { $col = $Cave.GetPixel($y,$x).Name switch ($col) { "ff000000" { Write-Host " " -BackgroundColor Black -ForegroundColor White -NoNewLine } "ffffffff" { Write-Host " " -BackgroundColor White -ForegroundColor Black -NoNewLine } "ffb97a57" { Write-Host " " -BackgroundColor DarkBlue -ForegroundColor White -NoNewLine } "ffb5e61d" { Write-Host " " -BackgroundColor Green -ForegroundColor White -NoNewLine } default{ Write-Host " " -BackgroundColor White -ForegroundColor Black -NoNewLine } } } |
Script que representa las últimas líneas del dibujo en la consola de PowerShell
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$Cave = [System.Drawing.Bitmap]::FromFile( 'C:\Users\juan\Desktop\mapadoblarvistaarriba.bmp' ) for ($x = $Cave.Height-4;$x -lt $Cave.Height;$x+=1) { for ($y = 1;$y -lt $Cave.Width;$y+=1) { $col = $Cave.GetPixel($y,$x).Name switch ($col) { "ff000000" { Write-Host " " -BackgroundColor Black -ForegroundColor White -NoNewLine } "ffffffff" { Write-Host " " -BackgroundColor White -ForegroundColor Black -NoNewLine } "ffb97a57" { Write-Host " " -BackgroundColor DarkBlue -ForegroundColor White -NoNewLine } "ffb5e61d" { Write-Host " " -BackgroundColor Green -ForegroundColor White -NoNewLine } default{ Write-Host " " -BackgroundColor White -ForegroundColor Black -NoNewLine } } } Write-Host "" } |
Script que representa las últimas líneas del dibujo en la consola de PowerShell y permite dar sensación de altura al dibujo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
$Cave = [System.Drawing.Bitmap]::FromFile( 'C:\Users\juan\Desktop\mapadoblarvistaarriba.bmp') $array = [System.Collections.ArrayList] $fila = New-Object System.Collections.ArrayList # Meter en un ArrayList todos los colores y la posición de la línea (la última, la penúltima y la antepenúltima) par dar la sensación de altura for ($x = $Cave.Height - 3;$x -lt $Cave.Height;$x+=1) { for ($y = 1;$y -lt $Cave.Width;$y+=1) { $col = $Cave.GetPixel($y,$x).Name switch ($col) { "ff000000" { $array.Add($col + ",1,$x") | Out-Null } "ffffffff" { $array.Add($col + ",2,$x") | Out-Null } "ffb97a57" { $array.Add($col + ",3,$x") | Out-Null } "ffb5e61d" { $array.Add($col + ",4,$x") | Out-Null } } } $array.Add("-") | Out-Null } # Para cada línea eliminar el color que permite dar sensación de altura, la última línea tendrá todos los colores, la penúltima tendrá dos y la antepenúltima solo tendrá un color foreach($col in $array) { if($col.Split(",")[2] -eq $Cave.Height - 3) { switch ($col) { "ff000000,1,$($Cave.Height - 3)" { Write-Host " " -BackgroundColor Black -ForegroundColor Black -NoNewLine } "ffffffff,2,$($Cave.Height - 3)" { Write-Host " " -BackgroundColor Black -ForegroundColor White -NoNewLine } "ffb97a57,3,$($Cave.Height - 3)" { Write-Host " " -BackgroundColor Black -ForegroundColor White -NoNewLine } "ffb5e61d,4,$($Cave.Height - 3)" { Write-Host " " -BackgroundColor Green -ForegroundColor White -NoNewLine } #default{ Write-Host " " -BackgroundColor White -ForegroundColor Black -NoNewLine } } } elseif($col.Split(",")[2] -eq $Cave.Height - 2) { switch ($col) { "ff000000,1,$($Cave.Height - 2)" { Write-Host " " -BackgroundColor Black -ForegroundColor Black -NoNewLine } "ffffffff,2,$($Cave.Height - 2)" { Write-Host " " -BackgroundColor Black -ForegroundColor White -NoNewLine } "ffb97a57,3,$($Cave.Height - 2)" { Write-Host " " -BackgroundColor Blue -ForegroundColor White -NoNewLine } "ffb5e61d,4,$($Cave.Height - 2)" { Write-Host " " -BackgroundColor Green -ForegroundColor White -NoNewLine } #default{ Write-Host " " -BackgroundColor White -ForegroundColor Black -NoNewLine } } } elseif($col.Split(",")[2] -eq $Cave.Height - 1) { switch ($col) { "ff000000,1,$($Cave.Height - 1)" { Write-Host " " -BackgroundColor DarkBlue -ForegroundColor Black -NoNewLine } "ffffffff,2,$($Cave.Height - 1)" { Write-Host " " -BackgroundColor Black -ForegroundColor White -NoNewLine } "ffb97a57,3,$($Cave.Height - 1)" { Write-Host " " -BackgroundColor Blue -ForegroundColor White -NoNewLine } "ffb5e61d,4,$($Cave.Height - 1)" { Write-Host " " -BackgroundColor Green -ForegroundColor White -NoNewLine } #default{ Write-Host " " -BackgroundColor White -ForegroundColor Black -NoNewLine } } } elseif($col -eq "-") { Write-Host "" } } |
Con sensación de altura nos referimos a esto