Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];

Вниз

Скопировать в буфер обмена 32bit Bitmap   Найти похожие ветки 

 
Billi332   (2005-07-29 12:25) [0]

Как можно скопировать в буфер обмена 32bit Bitmap ARGB, так что бы сохранился прозрвчный цвет?
Я делаю так но это не помогает  
B := TBitMap.Create;
B.PixelFormat := pf32bit;
B.Transparent := true;
B.TransparentColor := 0;

.................
B.SaveToClipboardFormat(MyFormat, AData, APalette);
С := TClipboard.Create;
C.SetAsHandle(MyFormat, AData);
C.Free;


 
AlexBond   (2005-08-04 22:07) [1]

Привожу код для сохранения картинки после нажатия на PrintScreen, удобно и быстро, гланвое нет никаких форм:


unit screen02;

interface

uses
 Windows, Graphics,clipbrd;

 private
   { Private declarations }
 public
   { Public declarations }
   z:integer;
 end;

implementation
var Bmp: TBitmap;

procedure TForm1.FormCreate(Sender: TObject);
begin
Bmp:= TBitmap.Create;
z:=0;
Application.ShowMainForm:=false;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if  IsClipboardFormatAvailable(cf_Bitmap)then
        begin
        bmp.LoadFromClipBoardFormat(cf_BitMap, ClipBoard.                 GetAsHandle(cf_Bitmap),0);
        bmp.SaveToFile("c:\screen\screen0"+inttostr(z)+".bmp");
        z:=z+1;
        ClipBoard.AsText:="0";
        bmp.FreeImage;
        end;
end;

end.

Данный код сохраняет скриншоты в формате экрана, при каждом нажатии на PrintScreen.

Не знаю почему у тебя не получается 32bit Bitmap, скорее всего у тебя не включен 32-bit режим или у тебя плохие просмоторщики картинок некоторые автоматически конвертируют в 24-bit.
Кстати зачем тебе это надо, прозрачный цвет почти нигде не используется, кроме как в 3d-текстурах.


 
Бугай   (2005-08-07 00:55) [2]

АлексБонд, не знаешь, как помочь - не пиши вообще. От твоего неуместного кода и беспочвенных утверждений о ненужности альфа-канала пользы абсолютно никакой.


 
Sphinx ©   (2005-08-07 14:13) [3]

Кажется прозрачный цвет таким способом не сохранить (я про PrintScreen) да и как выбрать какие пиксели должны быть прозрачными, а какие - нет ? На экране нет такой информации !
А так, у TBitmap есть канва...у канвы есть свойство Pixels которое отвечает за цвет пикселя и равно Longword, для PixelFormat := pf32bit это будет ARGB цвет, на каждую составляющую по Byte. Соответсвенно первый байт - это и будет значение альфы.

TransparentColor - это НЕ альфа канал !!!


 
Valera   (2005-08-15 00:59) [4]

Для Graphics32 Пример
Copies/Pastes the Bitmap32 and its alpha channel to/from the clipboard
http://www.graphics32.org/downloads/3rdparty/EG_ClipboardBitmap32.pas



Страницы: 1 вся ветка

Форум: "Media";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.043 c
2-1135852497
Dmitrij_K
2005-12-29 13:34
2006.01.22
Ускорение поиска файлов


10-1111131843
AloneAli
2005-03-18 10:44
2006.01.22
Как передать двойной щелчек мыши в Word e


14-1135962701
palva
2005-12-30 20:11
2006.01.22
С новым Годом и небольшой подарок


2-1136440995
ezorcist
2006-01-05 09:03
2006.01.22
Эмулировать клик мыши?


2-1136548967
IK
2006-01-06 15:02
2006.01.22
WinWORD





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский