Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   seleccionar imagen (https://www.clubdelphi.com/foros/showthread.php?t=58088)

fasthorse 08-07-2008 09:54:59

seleccionar imagen
 
Hola, tengo el código para seleccionar una imagen, pero la selecciono con un fondo blanco perfilado en negro, y quiero hacer que la selección sea transparente para que se vea la imagen entera y no con algo blanco en el medio... y también además de poder copiar, pegar y cortar esa selección, quiero también darle opciones como que me cambie de color, pero no se cómo hacerlo tampoco...

Os pongo el código que uso en la selección, a ver si me podéis ayudar:

Código:

void __fastcall TForm1::Seleccionar(TObject *Sender) //seleccionar
//un trozo d imagen
{
  seleccion=true;

}
//------------------------------------------------------------------------

void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
{
  if(seleccion==true){
  pintando=true;
  Imagen->Canvas->MoveTo(X,Y);
  origen.x=X;
  origen.y=Y;
  }
 }
//------------------------------------------------------------------------
 

 void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
  int X, int Y)
  {
    if(seleccion==true){
      Imagen->Canvas->MoveTo(origen.x, origen.y);
      Imagen->Canvas->MoveTo(origen.x, origen.y);
      Imagen->Canvas->Rectangle(origen.x, origen.y, X,Y);
      destino=Rect(0,0,300,300);
      Imagen->Canvas->CopyRect(destino, Imagen->Canvas, destino);
      dest=destino;
      ini=X;
    fin=Y;
 
  }
}
//------------------------------------------------------------------------------------------------
void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button,
  TShiftState Shift, int X, int Y)
{
    if(seleccion==true){
  Imagen->Canvas->MoveTo(X,Y);
  pintando=false;
  }
}


droguerman 09-07-2008 05:29:01

del copiar pegar no puedo ayudarte, pero para la imagen transparente puedes utilizar un componente TImageList, cargar la imagen y usar el método draw que te permite dibujar con transparencias

fasthorse 09-07-2008 07:24:08

No, no te preocupes, los métodos de copiar, pegar y cortar más o menos los tengo, lo que quiero sobre todo es poder hacer la selección transparente... y viendo mi implementación, no hay ninguna opción tal y como yo lo hago, que lo pinto con canvas->Rectangle, en vez de utilizar el draw?? es que así tendría que cambiar bastante mi implementacion??

Gracias.
Un saludo.


La franja horaria es GMT +2. Ahora son las 21:31:40.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi