Vấn đề:
Thử thách này đến từ một vấn đề thực sự tôi đang gặp phải. Tôi có một thiết lập màn hình kép tại nơi làm việc và tôi muốn sử dụng hình ảnh sau đây làm hình nền của mình:
Tuy nhiên, màn hình của tôi có các bezels khá đáng kể và khi tôi đặt nền của mình, nó trông giống như thế này, nơi bến tàu xuất hiện (appiers?) Bị phá vỡ:
Tôi đã có thể giải quyết điều này bằng cách tạo một hình ảnh với tâm cắt ra, và sau đó kéo nó trở lại kích thước ban đầu, như trong hình dưới đây:
Các thách thức:
Viết chương trình lấy hình ảnh và "giám sát" nó để sử dụng với thiết lập màn hình kép (nghĩa là xóa phần giữa của hình ảnh, nơi có các bezels). Luật như sau:
- Nó phải là một chương trình đầy đủ chấp nhận hình ảnh, dưới dạng đường dẫn (đối số chuỗi, v.v.) hoặc ở dạng hộp thoại chọn tệp.
- Chương trình phải lấy làm đầu vào số lượng đường thẳng đứng (chiều rộng một pixel) để cắt ra từ trung tâm của hình ảnh
- Việc cắt xén phải xuất phát từ trung tâm (chiều rộng) của hình ảnh gốc
- Hình ảnh kết quả phải được thu nhỏ lại về kích thước ban đầu của hình ảnh đầu vào. (Hoặc các nửa có thể được thu nhỏ riêng lẻ, sau đó ghép hoặc ghép và sau đó thu nhỏ. Chia tỷ lệ riêng lẻ tạo ra hình ảnh / hiệu ứng tốt hơn, nhưng hầu như không đáng chú ý trong thế giới thực)
- Hình ảnh nền nhìn chung là chẵn, do đó, để làm cho thử thách này dễ dàng hơn, hình ảnh đầu vào sẽ chỉ có số pixel chẵn và số dòng cần xóa sẽ chỉ đồng đều.
- Thử thách này là mã golf - mã ngắn nhất tính bằng byte thắng
Chúc may mắn!