Из вашего вопроса кажется очевидным, что вашему уровню бизнес-логики необходимо обрабатывать изображения довольно низкоуровневым способом (в противном случае, я думаю, вы просто сохраните URL-адреса изображений или что-то в этом роде ...). Это помещает концепцию изображения / растрового изображения прямо на территорию бизнес-логики, поэтому вполне нормально полагаться на пространство имен System.Drawing для этой цели.
Если вы чувствуете, что изображения не имеют места в библиотеке классов, один взгляд System.Drawing * должен убедить вас в обратном: это яркий пример библиотеки классов (и очень прилично разработанный ) что в значительной степени ничего не делает, кроме как работать с изображениями.
Это на самом деле не имеет ничего общего с пользовательским интерфейсом (Windows.Forms и друзья имеют дело с ними). Кроме того, System.Drawing присутствует в любой системе с установленным .NET Framework, поэтому проблем с зависимостями нет.
Если вы беспокоитесь о кроссплатформенной совместимости, создание класса-обертки для изображений может облегчить эти проблемы. Однако, поскольку сами растровые структуры, скорее всего, уже зависят от платформы (например, если вы не позаботитесь о том, чтобы использовать PNG только на ваших внешних интерфейсах), это может быть немного чрезмерно, поскольку вы добавляете сложность без усиления. ..