Форум: "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