-
Сохранить как TBitmap через буфер обмена как?
Т. е. фактически нужен вставить в Image рисунок нарисованный в Worde.
-
Ничего не понял…
Если тебе надо ставить картинку из буфера то эт есть в справочнике:
Image1.Picture.Bitmap.Assign (Clipboard)
-
Image1.Picture.Bitmap.Assign (Clipboard) - это не работает
фишка в том что картинка в Worde - векторная, а Image.Bitmap - это TBitmap (растровый рисунок) и соответственно выдается ошибка. Если я из паинта так делаю то работает а мне нужно векторный из Worda вставить.
-
> Если я из паинта так делаю то работает а мне нужно векторный
> из Worda вставить.
Давно из песочницы ?
Меня просто умиляют запросы пепсикол - "ну-ка, быстренько тут мне расскажите, как атом на части поделить"
-
> выдается ошибка
Секретная ?
-
>
> > выдается ошибка
>
>
> Секретная ?
unsupported clipboard format
-
Если из Worda в паинт вставляешь векторный рисунок через буфер то он вставляется как растровый
вот и мне так надо вставить в Image
-
Если "unsupported clipboard format", значит клипборд не содержит данные в формате CF_BITMAP
Для начала просмотри клипборд на предмет содержащихся в нем форматов кроме CF_METAFILE
-
> Если "unsupported clipboard format", значит клипборд не
> содержит данные в формате CF_BITMAP
>
> Для начала просмотри клипборд на предмет содержащихся в
> нем форматов кроме CF_METAFILE
в клипборде после копирования из ворда содержится следующее: CF_METAFILE и CF_PICTURE
Можно в Image.bitmap как то вставить картинку?
я пробовал
ris:=tpicture.create
ris.assaign(clipdoard)
image.picture.bitmap.assaign(ris.bitmap)
ошибки не выдается - вставляется пустая картинка
-
> вставляется пустая картинка
А ты установи Stretch=True и удивись)
К тому же нет необходимости создавать отдельный TPicture:
image.picture.Assign(Clipboard)
-
> А ты установи Stretch=True и удивись)
>
Если мы делаем image.picture.Assign(Clipboard)
то впринципе рисунок вставляется
но вот picture.bitmap - который я потом сохраняю в БД - остается пустым
я чета не совсем понимаю чем отличается Tpicture от TBitmap
-
> picture.bitmap - который я потом сохраняю в БД - остается
> пустым
Чем докажешь ?
> не совсем понимаю чем отличается Tpicture от TBitmap
В справке же написано чем..
-
>
> Чем докажешь ?
ris1:=tpicture.Create;
ris1.Assign(clipboard);
//image1.Picture.Assign(ris1) - рисунок вставляется;
а если делать вот так-image1.Picture.Bitmap.Assign(ris1.Bitmap) то вставляется пустой
разве ris1.bitmap не должен содержать растр рисунка?
-
> thvfrjd (12.02.09 13:36) [12]
В упор не вижу никакого сохранения в БД
-
> В упор не вижу никакого сохранения в БД
Тут сохранения в БД нету это потом BItmap в БД сохраняется
Просто если делать вот так
ris1:=tpicture.Create;
ris1.Assign(clipboard);
image1.Picture.Bitmap.Assign(ris1.Bitmap) то почему вставляется пустой рисунок?
разве ris1.bitmap не должен содержать растр рисунка?
-
Получается не должен)
-
> Получается не должен)
>
А поскольку в БД вставляется не Picture а Bitmap
то как то можно Bitmap заполнить? или в двух строках кода так не получится?
-
Через метафайл будет проще:
Metafile := TMetaFile.Create;
Bitmap := TBitmap.Create;
try
MetaFile.Assign(clipboard);
with Bitmap do
begin
Height := Metafile.Height;
Width := Metafile.Width;
Canvas.Draw( 0 , 0 , MetaFile);
Bitmap.SaveToFile('Test.bmp');
end;
finally
Bitmap.Free;
MetaFile.Free;
end;
-
спасибо))
-
Вопрос похожий, как вставить изображение из буфера, скопированное в Лотусе, там похоже свой формат, Делфи говорит, что не поддерживает, хотя распознает как CF_BITMAP
С Вордом прокатило!!!
Помогите с Лотусом пожалуйста.
-
-