Как получить высоту пикселя растрового изображения Silverlight до того, как оно будет нарисовано на холсте?

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

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


person eflles    schedule 20.04.2010    source источник
comment
Можете ли вы предоставить код того, как вы указываете/загружаете растровое изображение?   -  person Gone Coding    schedule 08.08.2011


Ответы (1)


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

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

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

person Random    schedule 25.08.2011
comment
Не видел, насколько стар этот вопрос. Тем не менее, возможно, ответ может быть кому-то полезен. - person Random; 25.08.2011