Использование TreeMap с изображениями
Для представления наиболее популярных художников из EchoNest API я пытался настроить TreeMap для Silverlight Toolkit с использованием изображений, при этом их TreeItemDefinition.ValueBinding определяется как область изображения.
Хотя он в основном заполняет пространство, когда растяжение изображения установлено на "Заполнить":
При установке растяжения изображения на "Uniform" остается много пустых мест:
На этом посте предлагается вырезание изображения: сопоставление дерева с заданным соотношением сторон
Как я могу узнать, какие изображения должны быть вырезаны и в каких размерах они должны быть вырезаны, если это вообще возможно?
Эта проблема разрешима без вмешательства человека для хорошего результата?
1 ответ
Я не думаю, что есть способ узнать, какие изображения должны быть вырезаны и в каком размере они должны быть вырезаны. Хорошей эвристикой может быть проверка того, превышает ли средняя энергия изображения определенный порог (это можно уточнить, чтобы проверять только блоки каждого изображения и позже объединять результат: если в изображении есть блоки без деталей/энергии, его можно вырезать, по крайней мере, в этом разделе).
Я думаю, что было бы лучше применить вырезание швов к уже составленному изображению: это попытается вырезать белые контуры (добавление «искусственной» энергии к участкам изображений может привести к еще лучшим результатам, сохраняя больше формы каждого изображение). Эта статья может быть полезна и для ознакомления с другими методами изменения размера изображения.