|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.08.2009, 15:41 | #1 |
Форумчанин
Регистрация: 12.08.2009
Сообщений: 118
|
Как повернуть изображение в TextBox(e)?
Добавляю новый текст бокс:
Word::ShapePtr imTextBox = m_WordDocument->Shapes->AddTextbox (Office::msoTextOrientationHorizont al, 100, 100, 1000, 1000); Добавляю в текст бокс изображение: Word::InlineShapePtr picture = imTextBox->TextFrame->ContainingRange->InlineShapes->AddPicture(L"c:\\image.bmp"); у InlineShape-a нет свойства rotate или метода которым его можно развернуть, пробую конвертировать его в ShapePtr и у Shape-a задать поворот: Word::ShapePtr shapePtr = shape->ConvertToShape(); shapePtr->Rotation = angel; в методе ConvertToShape падаем. Если делаю так: Word::InlineShapePtr shape = m_WordDocument->Paragraphs->Last->Range->InlineShapes->AddPicture(L"c:\\untitled.bmp"); Word::ShapePtr shapePtr = shape->ConvertToShape(); все нормально. Что я делаю не так? Есть ли другой стособ добавить изображение в текст бокс? Возможно, сначала нужно развернуть изображение, а потом добавлять его в текст бокс? |
12.08.2009, 19:51 | #2 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Добавить можно, а вот разернуть почему-то нет. Хотя вручную получается. Лучше сначала развернуть, а потом вставлять.
Лучше день потерять — потом за пять минут долететь!©
|
13.08.2009, 16:01 | #3 |
Форумчанин
Регистрация: 12.08.2009
Сообщений: 118
|
Как добавить повернутое изображение в TextBox?
Не с помощью метода imTextBox->TextFrame->ContainingRange->InlineShapes->AddPicture(L"c:\\image.bmp"); Дайте, пожалуйста, маленький примерчик |
13.08.2009, 19:12 | #4 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Это у вас нужно спрашивать
Вам нужно сначала повернуть изображение, затем сохранить его в файл, а уж только затем добавить. Как это делается на «плюсах» я, к сожалению, не знаю. Может API поможет
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 13.08.2009 в 19:20. |
13.08.2009, 20:07 | #5 |
Форумчанин
Регистрация: 12.08.2009
Сообщений: 118
|
Такой вариант я рассматриваю, но не хотелось бы...
Мне хочется чтобы прямоугольник изображения, не содержал пустых областей. Если я поверну изображение на 45 градусов и сохраню еге в файл, получится файл с пустыми областями "в углах". Неужели нет функциональности приблизительно такого формата: imTextBox-> AddShapePtr(...) или imTextBox-> AddInlineImagePtr(...) ? |
14.08.2009, 01:38 | #6 |
Форумчанин
Регистрация: 17.07.2009
Сообщений: 519
|
Получилось но довольно специфическим образом.
Распакуйте файлы в одну папку откройте doc и нажмите на кнопку в тексте Код:
|
14.08.2009, 13:47 | #7 |
Форумчанин
Регистрация: 12.08.2009
Сообщений: 118
|
Спасибо, Aent.
На плюсах это выглядит где то так: Word::ShapePtr imTextBox = m_WordDocument->Shapes->AddTextbox(Office::msoTextOrientat ionHorizontal, 100, 100, 400, 400); Word::InlineShapePtr picture = m_AppWord->Selection->InlineShapes->AddPicture(L"c:\\untitled.bmp"); Word::ShapePtr shapePtr = picture->ConvertToShape(); shapePtr->Rotation = 45; shapePtr->Select(); m_AppWord->Selection->Cut(); imTextBox->TextFrame->ContainingRange->Select(); m_AppWord->Selection->Paste(); Столкнулся со следующей проблемой. Повернутое изображение вылезает за пределы текст блока слева и сверху. Файл в прикреплении. Если делаю все руками: открываю Word добавляю изображение, разворачиваю его, создаю новый текст блок, вырезаю, вставляю - все нормально. Пробовал програмно установить отступы у текст блока - получается обрезанное изображение. Что здесь можно сделать? |
14.08.2009, 15:32 | #8 |
Форумчанин
Регистрация: 17.07.2009
Сообщений: 519
|
Diego__, у меня Word 2003. Ваш документ через конвертер не открывается. Если хотите что бы я его посмотрел, пожалуйста перевыложите файл в формате .doс а не .docx
|
14.08.2009, 16:54 | #9 |
Форумчанин
Регистрация: 12.08.2009
Сообщений: 118
|
К сожалению сохранить файл в формате doc у меня не получается. Выскакивает сообщение "You cannot put drawing objects into a text box, callout, comment, footnote, or endnote", возможно в 2003 Word-е нельзя поворачивать изображения в текст боксах.
Если я руками возвращаю угол изображения в нуль, все сохраняется нормально, но изображение уже не вылезает за пределы текст бокса. Во вложении скриншот того, что у меня получилось, или лучше сказать - скриншот того, что у меня не получается. |
14.08.2009, 19:58 | #10 | |
Форумчанин
Регистрация: 17.07.2009
Сообщений: 519
|
А каковы размеры и параметры TextBox'а ?
(Картинку в формате .png взял из вашего .docx файла) Вообще не очень понятно что вы хотите в конце концов получить. Сделайте вручную в Word желаемый документ и опубликуйте его на форуме в формате .doc. Если не сможете сделать то что нужно в Word - выкладывайте картинку с фотошопа Фраза Цитата:
Итого: опубликуйте окончательный вид того что хотите получить... Последний раз редактировалось Aent; 14.08.2009 в 20:07. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как повернуть изображение на 180 градусов? | kl45gp | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 3 | 11.05.2013 13:10 |
КАК повернуть матрицу на 90 градусов вправо (или влево). | RomT24 | Помощь студентам | 15 | 09.12.2009 10:52 |
Как повернуть изображение в TGraphicControl на 180 градусов? | NeonSimfi | Win Api | 1 | 06.05.2009 21:20 |
TextBox как отменить курсор | LeGAl | Общие вопросы .NET | 4 | 30.04.2009 01:51 |
Как создать маску ввода даты в TextBox? | AnnNet | Microsoft Office Excel | 6 | 24.07.2008 10:42 |