файлов форматов, таких как PNG или JPG просто не имеют смысла для кругового изображения, потому что форматы файлов уже подразумевают, что существует прямоугольный набор пикселей, которые будут сохранены.
Конечно, один может определить собственный формат файла. Ничто не мешает вам определять формат файла, возможно, похожий на PNG, который дополнительно сохраняет радиус (в пикселях), а за ним хранятся только пиксели, которые являются частью круговой области.
Другой вариант - это просто другое представление в памяти. Можно, например, определить круговую область пикселей в памяти:
PPPP
PPPPPP
PPPPPPPP
PPPPPP
PPPP
Тогда вы могли бы расположить эти пиксели, чтобы заполнить прямоугольную область (в памяти!):
PPPP PPPPPP PPPPPPPP
PPPPPP PPPP ........
и сохранить это как изображение. (Обратите внимание, что формат изображения должен быть без потерь. Сохранение такого изображения, как JPG, не имеет смысла по разным причинам). При декодировании этого изображения (т. Е. При чтении файла изображения) вам потребуется дополнительная информация об исходном радиусе круга. Затем вы можете создать новую круговую область пикселей, заполненную пикселями, которые были прочитаны из (прямоугольного) изображения.
Что-то вроде этого могущества даже иметь смысл, когда у вас есть очень большая круговая область, и хочет, чтобы избежать сохранений (бесполезные) «угловые точек» в файл. Но я сомневаюсь, что есть реалистичные кейсы приложений для чего-то вроде этого.
Любой конкретный язык программирования, среда или формат файла? –
Теперь это может отличаться, но [посмотрите] (http://superuser.com/a/327507/381953). – Suzi