Если под «простым файлом изображения» вы ссылаетесь на JPEG, GIF или около того, вам не повезло, потому что вам пришлось бы реализовать всю логику декодирования, что далеко не просто (посмотрите здесь для получения дополнительной информации, но кратко, потому что вы действительно не хотите вдаваться в детали;)).
После декодирования в конечном итоге вы получаете матрицу (двумерный массив) информации о пикселях (обычно три числа для красного, зеленого и синего компонентов, но существуют и другие варианты). Тогда ваши методы get_pixel
и set_pixel
тривиальны.
Что обычно делают пользователи Ruby в таких случаях, так это оборачивают уже существующую библиотеку C для работы с изображениями в такую библиотеку, как rmagick .