(Я знаю, что использование форм Windows для такого рода проектов глупо и неэффективно, но это требование для курса колледжа, который я изучаю, поэтому я застрял в этом)
в формах Windows вы можете нарисовать изображение с тремя вершинами, указанными для нижних левых, верхних левых и верхних правых вершин, что позволяет вам наклонять или растягивать изображение, но не позволяет указать четвертую вершину, поэтому оно заканчивается вверх выглядит как этот 3D-куб, но боковые текстуры имеют края одинаковой длины, поэтому он не соответствует форме правильно.
Я могу использовать текстурную кисть и матричное преобразование, чтобы правильно заполнить сторону куба, но проблема в том, что текстура по-прежнему имеет одинаковый размер для всего «расстояния Z», поэтому она размещается плиткой, а не соответствует форме «3d», как показано здесь
Заливки текстуры стороны 3D-куба многоугольник правильно и "сжат", но не "сжат", поэтому не дает 3D-эффекта
поэтому мне просто интересно, есть ли какой-нибудь способ "правильно" преобразовать текстуру или изображение, чтобы оно правильно соответствовало форме многоугольника, и дать "3D" эффект без чрезвычайно нелепого, утомительного и требовательного к производительности метода, такого как изменение экземпляра текстуры непосредственно перед рендерингом во время выполнения
Я пытался использовать графику.drawImage({файл изображения}, {3 точки вершины, которым нужно соответствовать}); чтобы нарисовать изображение, чтобы примерно заполнить пробел, и я также преобразовал грани из четырехугольников в треугольники, чтобы разместить их таким образом, но текстура в конечном итоге растягивается и неправильно поворачивается с помощью этого метода, если только нет способа преобразовать изображение так, чтобы рендеринг с помощью треугольников не сжимал визуализируемую текстуру.
Я пытался использовать текстурную кисть и графики.fillpolygon({текстурная кисть}, {все 4 точки вершины лица}); с примененным к нему матричным преобразованием, хотя оно немного более трудоемко, чем рисование изображения, оно полностью заполняет многоугольник, но также не дает желаемого эффекта «сжатия» на текстуре изображения, матричные преобразования форм Windows имеют масштаб x, вращение x, вращение y, масштабирование y, перемещение x и перемещение y для справки
Подробнее здесь: https://stackoverflow.com/questions/797 ... ller-bigge
Как бы я исказил текстуру/изображение Windows Forms так, чтобы одна сторона была меньше/больше другой стороны, чтобы она ⇐ C#
Место общения программистов C#
1760433555
Anonymous
(Я знаю, что использование форм Windows для такого рода проектов глупо и неэффективно, но это требование для курса колледжа, который я изучаю, поэтому я застрял в этом)
в формах Windows вы можете нарисовать изображение с тремя вершинами, указанными для нижних левых, верхних левых и верхних правых вершин, что позволяет вам наклонять или растягивать изображение, но не позволяет указать четвертую вершину, поэтому оно заканчивается вверх выглядит как этот 3D-куб, но боковые текстуры имеют края одинаковой длины, поэтому он не соответствует форме правильно.
Я могу использовать текстурную кисть и матричное преобразование, чтобы правильно заполнить сторону куба, но проблема в том, что текстура по-прежнему имеет одинаковый размер для всего «расстояния Z», поэтому она размещается плиткой, а не соответствует форме «3d», как показано здесь
Заливки текстуры стороны 3D-куба многоугольник правильно и "сжат", но не "сжат", поэтому не дает 3D-эффекта
поэтому мне просто интересно, есть ли какой-нибудь способ "правильно" преобразовать текстуру или изображение, чтобы оно правильно соответствовало форме многоугольника, и дать "3D" эффект без чрезвычайно нелепого, утомительного и требовательного к производительности метода, такого как изменение экземпляра текстуры непосредственно перед рендерингом во время выполнения
Я пытался использовать графику.drawImage({файл изображения}, {3 точки вершины, которым нужно соответствовать}); чтобы нарисовать изображение, чтобы примерно заполнить пробел, и я также преобразовал грани из четырехугольников в треугольники, чтобы разместить их таким образом, но текстура в конечном итоге растягивается и неправильно поворачивается с помощью этого метода, если только нет способа преобразовать изображение так, чтобы рендеринг с помощью треугольников не сжимал визуализируемую текстуру.
Я пытался использовать текстурную кисть и графики.fillpolygon({текстурная кисть}, {все 4 точки вершины лица}); с примененным к нему матричным преобразованием, хотя оно немного более трудоемко, чем рисование изображения, оно полностью заполняет многоугольник, но также не дает желаемого эффекта «сжатия» на текстуре изображения, матричные преобразования форм Windows имеют масштаб x, вращение x, вращение y, масштабирование y, перемещение x и перемещение y для справки
Подробнее здесь: [url]https://stackoverflow.com/questions/79789122/how-would-i-skew-a-windows-forms-texture-image-so-that-one-side-is-smaller-bigge[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия