Как получить высоту пикселя битмапайма в Silverlight до его рисования на холсте? - PullRequest
3 голосов
/ 20 апреля 2010

У меня есть изображение, которое мне нужно масштабировать на основе значений пикселей изображения. Когда я создаю bitmapImage, пиксели (высота и ширина) равны 0.

Есть ли способ получить высоту и ширину, прежде чем изображение будет нарисовано на холсте?

1 Ответ

1 голос
/ 25 августа 2011

У меня была похожая проблема, когда мне нужно было измерить высоту строки (с содержимым), добавляемой в сетку, перед ее добавлением в сетку.Короткий ответ - это невозможно.

Длинный ответ - это возможно.В своем коде я создал фиктивную сетку, не являющуюся частью пользовательского интерфейса.Я бы добавил к нему строку, а затем вызвал .Measure на фиктивной сетке, которая дала бы мне визуализированный размер строки.Тогда я мог бы просто добавить строку в фактическую таблицу в пользовательском интерфейсе.

Я подозреваю, что вы можете попробовать тот же подход с вашим изображением.Создайте фиктивный холст, добавьте изображение на холст и посмотрите, насколько он велик.

...