Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > .NET
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-11-2024
REHome REHome is offline
Miembro
 
Registrado: jul 2003
Ubicación: España
Posts: 475
Poder: 22
REHome Va por buen camino
Bordes redondeado de un cuadrado o rectángulo.

Si te fijas en estos dos símbolos de las esquinas como este ┌ y este otro de doble línea ╔, el borde una lía es este ╭, pero no hay de doble línea. También busco este.

¿Hay otra tabla de codificación que lo incluya o no existe?

Por ahora solo veo este.
https://unicode.org/charts/nameslist/n_2500.html

A lo mejor hay otros por ahí que no se.

Saludos y muchas gracias.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino.
Responder Con Cita
  #2  
Antiguo 16-11-2024
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.405
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Tienes distintas opciones, pero mejor te hago un copia/pega de lo que ha contestado chatgpt:


Para modificar un carácter como `╔` y que se dibuje con esquinas redondeadas, no puedes cambiar directamente su representación en el sistema operativo. Sin embargo, hay varias formas de lograr el efecto que deseas dentro de tu aplicación:

---

### **1. Crear un carácter redondeado usando un `TCanvas`**
Puedes dibujar manualmente las esquinas redondeadas utilizando gráficos en lugar de depender de la fuente predeterminada.

**Ejemplo:**
```delphi
procedure TForm1.FormPaint(Sender: TObject);
begin
with Canvas do
begin
Pen.Width := 2; // Grosor del borde
Pen.Color := clBlack; // Color del borde
Brush.Style := bsClear; // Sin relleno

// Dibujar una esquina redondeada (similar a ╔)
MoveTo(50, 50); // Inicio de la línea vertical
LineTo(50, 100); // Línea vertical

Arc(50, 50, 100, 100, 100, 50, 50, 100); // Esquina redondeada

LineTo(100, 50); // Línea horizontal
end;
end;
```

Este enfoque permite crear una esquina redondeada personalizada y ajustarla según necesites. Puedes implementar algo similar en controles gráficos, como `TImage`.

---

### **2. Crear una fuente personalizada**
Si deseas usar un carácter como `╔` pero con un diseño redondeado, puedes crear una fuente personalizada con herramientas como **FontForge**.

Pasos básicos:
1. **Descarga FontForge**: Una herramienta gratuita para edición de fuentes.
2. **Crea o edita un carácter**:
- Abre una fuente (como `Courier New` o `Monospace`) y localiza el carácter `╔`.
- Modifica el diseño para que las esquinas sean redondeadas.
- Guarda la nueva fuente con un nombre único.
3. **Carga la fuente en Delphi**:
- Instala la fuente en el sistema operativo.
- Usa la fuente en tu aplicación configurando `Canvas.Font.Name`.

**Ejemplo en Delphi:**
```delphi
procedure TForm1.FormCreate(Sender: TObject);
begin
Canvas.Font.Name := 'MiFuentePersonalizada';
Canvas.Font.Size := 12;
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
Canvas.TextOut(50, 50, '╔'); // Usará tu carácter personalizado
end;
```

---

### **3. Simular caracteres en un `TStringGrid` o similar**
Si estás utilizando controles como `TStringGrid` para dibujar caracteres como bordes, puedes personalizar la apariencia de las celdas para que se comporten como esquinas redondeadas.

**Ejemplo:**
```delphi
procedure TForm1.StringGrid1DrawCell(Sender: TObject; Col, Row: Integer; Rect: TRect; State: TGridDrawState);
begin
with StringGrid1.Canvas do
begin
Pen.Color := clBlack;
Brush.Style := bsClear;

if (Col = 0) and (Row = 0) then // Dibujar solo en la celda superior izquierda
begin
// Esquina redondeada
Arc(Rect.Left, Rect.Top, Rect.Left + 20, Rect.Top + 20, Rect.Right, Rect.Top, Rect.Left, Rect.Bottom);
MoveTo(Rect.Left, Rect.Top + 10);
LineTo(Rect.Left, Rect.Bottom);
LineTo(Rect.Right, Rect.Top);
end;
end;
end;
```

---

### **4. Generar caracteres como imágenes**
Otra alternativa es usar imágenes que representen tus caracteres personalizados. Por ejemplo, puedes diseñar un carácter `╔` redondeado en un editor gráfico (como GIMP o Photoshop) y cargarlo en un control como `TImage`.

**Ejemplo:**
```delphi
procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.Picture.LoadFromFile('esquina_redondeada.bmp'); // Usa tu imagen
end;
```

---

### **5. Dibujar dinámicamente con Bezier**
Si necesitas mayor control sobre las esquinas redondeadas, puedes usar curvas de Bézier para dibujarlas. Esto te permitirá ajustar la forma y el grado de redondez.

**Ejemplo:**
```delphi
procedure TForm1.FormPaint(Sender: TObject);
begin
Canvas.Pen.Color := clBlack;
Canvas.Pen.Width := 2;

// Dibujar curva redondeada
Canvas.MoveTo(50, 50);
Canvas.LineTo(50, 80); // Línea vertical
Canvas.PolyBezier([Point(50, 80), Point(60, 60), Point(80, 50)]); // Curva
Canvas.LineTo(100, 50); // Línea horizontal
end;
```

---

### Conclusión
- Si solo necesitas cambiar la representación gráfica dentro de tu aplicación, **dibujar manualmente** (`TCanvas`) o usar **imágenes** es lo más sencillo.
- Si deseas reutilizar el carácter modificado en múltiples aplicaciones, considera **crear una fuente personalizada**.
- Para un control dinámico y reutilizable, puedes combinar `TCanvas` con eventos de dibujo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Quitarle el cuadrado raro al TButton Alejo15x Varios 2 12-03-2010 18:12:52
Boton redondeado blacktoroII OOP 2 15-12-2008 09:44:47
Rectangulo de seleccion gallipi Gráficos 3 19-06-2008 16:45:11
Letra en un cuadrado Walcasar Gráficos 5 20-10-2006 20:15:10
Generar Tabla Chi-Cuadrado DarkDrakon Varios 2 19-10-2006 04:03:18


La franja horaria es GMT +2. Ahora son las 18:13:13.


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