Главная страница
    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.45 MB
Время: 0.044 c
2-1135921105
Alex7
2005-12-30 08:38
2006.01.22
Обращение к БД при активизации формы


14-1135852155
Kerk
2005-12-29 13:29
2006.01.22
как букву VV в клавиатуру засунуть?


14-1133813568
Rouse_
2005-12-05 23:12
2006.01.22
Новогодний MMP (Совместный)


14-1135929811
Piter
2005-12-30 11:03
2006.01.22
Справка о болезни


2-1135937910
Silver__Dragon
2005-12-30 13:18
2006.01.22
запуск exe





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский