Le problème:
Ce défi vient d'un vrai problème que j'avais. J'ai une configuration à double moniteur au travail et je voulais utiliser l'image suivante comme fond d'écran:
Cependant, mes moniteurs ont des lunettes assez importantes, et quand je règle mon arrière-plan, cela ressemble à ceci, où la jetée semble (appiers?) Être cassée:
J'ai pu résoudre ce problème en créant une image avec le centre découpé, puis en l'étirant à sa taille d'origine, comme dans l'image ci-dessous:
Le défi:
Écrivez un programme qui prend une image et la «surveille» pour l'utiliser avec une configuration à deux moniteurs (c'est-à-dire supprime la section centrale de l'image, où se trouvent les lunettes). Les règles sont les suivantes:
- Il doit s'agir d'un programme complet qui accepte l'image, soit en tant que chemin (argument chaîne, etc.), soit sous la forme d'une boîte de dialogue de sélection de fichier.
- Le programme doit prendre en entrée le nombre de lignes verticales (un pixel de largeur) à recadrer à partir du centre de l'image
- Le recadrage doit provenir du centre (dans le sens de la largeur) de l'image originale
- L'image résultante doit être redimensionnée à la taille d'origine de l'image d'entrée. (Les moitiés peuvent être mises à l'échelle individuellement, puis concaténées, ou concaténées puis mises à l'échelle. La mise à l'échelle individuelle produit une meilleure image / effet, mais est à peine perceptible dans le monde réel)
- Les images d'arrière-plan sont généralement égales, donc pour faciliter ce défi, les images d'entrée n'auront qu'un nombre pair de pixels et le nombre de lignes à supprimer ne sera que pair.
- Ce défi est le golf de code - le code le plus court en octets gagne
Bonne chance!