Поделиться через


Device.StretchRectangle - метод

Обновлен: Ноябрь 2007

Копирует все содержимое исходного прямоугольника в прямоугольник назначения.

Пространство имен:  Microsoft.WindowsMobile.DirectX.Direct3D
Сборка:  Microsoft.WindowsMobile.DirectX (в Microsoft.WindowsMobile.DirectX.dll)

Синтаксис

'Декларация
Public Sub StretchRectangle ( _
    sourceSurface As Surface, _
    sourceRectangle As Rectangle, _
    destSurface As Surface, _
    destRectangle As Rectangle, _
    filter As TextureFilter _
)
'Применение
Dim instance As Device
Dim sourceSurface As Surface
Dim sourceRectangle As Rectangle
Dim destSurface As Surface
Dim destRectangle As Rectangle
Dim filter As TextureFilter

instance.StretchRectangle(sourceSurface, _
    sourceRectangle, destSurface, destRectangle, _
    filter)
public void StretchRectangle(
    Surface sourceSurface,
    Rectangle sourceRectangle,
    Surface destSurface,
    Rectangle destRectangle,
    TextureFilter filter
)
public:
void StretchRectangle(
    Surface^ sourceSurface, 
    Rectangle sourceRectangle, 
    Surface^ destSurface, 
    Rectangle destRectangle, 
    TextureFilter filter
)
public function StretchRectangle(
    sourceSurface : Surface, 
    sourceRectangle : Rectangle, 
    destSurface : Surface, 
    destRectangle : Rectangle, 
    filter : TextureFilter
)

Параметры

  • sourceRectangle
    Тип: System.Drawing.Rectangle
    Объект Rectangle, представляющий исходный прямоугольник. Если nullссылка null (Nothing в Visual Basic), используется вся исходная поверхность.
  • destRectangle
    Тип: System.Drawing.Rectangle
    Объект Rectangle, представляющий целевой прямоугольник. Если nullссылка null (Nothing в Visual Basic), используется вся целевая поверхность.

Заметки

Исходный прямоугольник может быть растянут и отфильтрован копией. Этот метод часто используется для изменения пропорций видеопотока.

Если операция заключается в растяжении или сжатии, не все сочетания поверхностей допустимы для StretchRectangle. К числу прочих факторов относятся типы используемых поверхностей и их форматы.

В следующей таблице приведены допустимые сочетания форматов поверхности назначения.

Исходный формат

Текстура

RT-текстура

RT

Внеэкранная плоскость

Текстура

Нет

Да

Да

Нет

RT-текстура

Нет

Да

Да

Нет

RT

Нет

Да

Да

Нет

Внеэкранная плоскость

Нет

Да

Да

Да, но без растяжения

Если задана фильтрация, вызов StretchRectangle завершается неудачей, если драйвер не задает StretchRectangleFilterCaps. Если задано значение None, алгоритм фильтрации выбирает драйвер.

В вызовах StretchRectangle можно использовать поверхности шаблона глубины, при условии что в вызове не производится растяжение или сжатие. К поверхностям DepthStencil также применимы следующие ограничения, когда эти поверхности копируются с помощью вызова StretchRectangle:

  • Обе поверхности должны иметь один и тот же формат, без формата преобразования.

  • Растяжение или сжатие не допускаются.

  • Может быть скопирована только одна полная поверхность. Частичные прямоугольные копии не допускаются.

Для загрузки текстурных карт приложения должны использовать CopyRects или UpdateTexture, а не StretchRectangle, поскольку они разработаны для использования внутренней информации и изменяющихся таблиц прямоугольников.

Растяжение между прямоугольниками на одной поверхности не поддерживается. Чтобы проверить аппаратное обеспечение на предмет преобразования цветов, используйте метод CheckDeviceFormatConversion объекта Manager, поскольку программная эмуляция преобразования не поддерживается. Этот метод также указывает, поддерживается ли растяжение между поверхностями одного формата. Растяжение или сжатие не поддерживается, если одна из поверхностей имеет сжатый формат DXTn. Исходная поверхность не должна быть многовыборочной.

Разрешения

Платформы

Windows CE, Windows Mobile for Smartphone, Windows Mobile для карманных ПК

Среды .NET Framework и .NET Compact Framework поддерживают не все версии каждой платформы. Поддерживаемые версии перечислены в разделе Требования к системе для .NET Framework.

Сведения о версии

.NET Compact Framework

Поддерживается в версиях: 3.5, 2.0

См. также

Ссылки

Device Класс

Device - члены

Microsoft.WindowsMobile.DirectX.Direct3D - пространство имен