Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2011, 11:38   #1
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
Стрелка BmpFrame.Canvas.Rectangle прозрачныи внутри

Код:
  BmpFrame := TBitmap.Create;
  BmpFrame.Height := Image1.Height;
  BmpFrame.Width := Image1.Width;
  BmpFrame.Canvas.Pen.Style := psDot;
  BmpFrame.Canvas.Pen.Color := clGray;
  BmpFrame.Canvas.Pen.Mode := pmXor;
  BmpFrame.Canvas.Brush.Style := bsClear;
  SetBkColor(BmpFrame.Canvas.Handle, clWhite);
  BmpFrame.TransparentColor := clWhite;
  BmpFrame.Transparent := True;
  BmpFrame.Canvas.Rectangle(0, 0, BmpFrame.Width, BmpFrame.Height);
  Image1.Picture.Bitmap := BmpFrame;
люди подскажите что нехватает для того что б внутреняя часть квадрата рисовалась прозрачнои

ЗЫ. знаю что 100 раз было, много чего перепробывал, не получаеца
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 16.02.2011, 14:39   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Дык вы же на имидже рисуете, вот и поставьте у него Transparent=true
и ещё я бы так присвоил имиджу картинку
Код:
Image1.Picture.Assign(BmpFrame);
SERG1980 вне форума Ответить с цитированием
Старый 16.02.2011, 14:41   #3
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

может кому пригодица, зрительно пунктирная рамка
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Image1.Height := Image1.Height +1;
  Image1.Width := Image1.Width +1;
  BmpFrame.Height := Image1.Height;
  BmpFrame.Width := Image1.Width;
  BmpFrame.Canvas.Pen.Style := psDot;
  BmpFrame.TransparentMode := tmAuto;
  BmpFrame.TransparentColor := clWhite;
  BmpFrame.Transparent := True;
  BmpFrame.Canvas.Rectangle(0, 0, BmpFrame.Width, BmpFrame.Height);
  Image1.Picture.Bitmap := BmpFrame;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  BmpFrame := TBitmap.Create;
end;
Цитата:
Дык вы же на имидже рисуете, вот и поставьте у него Transparent=true
зделал, не помогало, шас работает, но всеравно спасибо, хоть ктото откликнулся
VirusN13

Последний раз редактировалось ArtGrek; 16.02.2011 в 17:50.
ArtGrek вне форума Ответить с цитированием
Старый 16.02.2011, 15:03   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

А зачем вообще нужен для этих целей битмар когда можно на канве имиджа рисовать
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 image1.Canvas.Brush.Style:=bscross;
 image1.Canvas.FrameRect(image1.Canvas.ClipRect);
end;

Последний раз редактировалось SERG1980; 16.02.2011 в 15:21.
SERG1980 вне форума Ответить с цитированием
Старый 16.02.2011, 15:15   #5
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

Цитата:
Сообщение от SERG1980 Посмотреть сообщение
А зачем вообще нужен для этих целей битмар когда можно на канве имиджа рисовать
Код:
  Image1.Height := Image1.Height +1;
  Image1.Width := Image1.Width +1;
  Image1.Picture.Bitmap.Canvas.Pen.Style := psDot;
  Image1.Picture.Bitmap.TransparentMode := tmAuto;
  Image1.Picture.Bitmap.TransparentColor := clWhite;
  Image1.Picture.Bitmap.Transparent := True;
  Image1.Picture.Bitmap.Canvas.Rectangle(0, 0, Image1.Width, Image1.Height);
вообше ничего не рисуеца
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 16.02.2011, 15:24   #6
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

См. пост №4
SERG1980 вне форума Ответить с цитированием
Старый 16.02.2011, 15:57   #7
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

Цитата:
Сообщение от SERG1980 Посмотреть сообщение
А зачем вообще нужен для этих целей битмар когда можно на канве имиджа рисовать
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 image1.Canvas.Brush.Style:=bscross;
 image1.Canvas.FrameRect(image1.Canvas.ClipRect);
end;
+ Image1.Transparent := True;
не прозрачно
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 16.02.2011, 16:42   #8
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 image1.Canvas.Brush.Style:=bscross;
 image1.Picture.Bitmap.TransparentColor:=image1.Canvas.Pixels[2,2];
 image1.Transparent:=true;
 image1.Canvas.FrameRect(image1.Canvas.ClipRect);
end;
SERG1980 вне форума Ответить с цитированием
Старый 16.02.2011, 16:55   #9
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

вы на практике ето пробовали?
зделаите проек и залеите, потому что у меня ето не прозрачное
я сам бы рад но не прозрачное
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 16.02.2011, 16:57   #10
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

А откуда я по вашему утверждаю
Изображения
Тип файла: jpg Безымянный.JPG (11.3 Кб, 72 просмотров)
SERG1980 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть прозрачныи Едит, но с недочетами... ArtGrek Компоненты Delphi 8 14.09.2011 03:15
класс Rectangle совпадает с функцией Rectangle sofen.ru Общие вопросы C/C++ 5 06.11.2010 14:32
canvas.rectangle Terrance! Помощь студентам 3 22.09.2010 12:59
Проекция Rectangle _-Re@l-_ Паскаль, Turbo Pascal, PascalABC.NET 8 09.09.2010 11:13
Canvas светлее, внутри DrawFocusRect нормальный цвет. sergeyrulit Общие вопросы Delphi 5 08.08.2010 18:03