aspnet-devexpress-dot-web-dot-aspxcaptcha-b91bd9be.md
Enables you to implement custom logic for rendering the ASPxCaptcha’s challenge image.
Namespace : DevExpress.Web
Assembly : DevExpress.Web.v25.2.dll
NuGet Package : DevExpress.Web
public event ChallengeImageCustomRenderEventHandler ChallengeImageCustomRender
Public Event ChallengeImageCustomRender As ChallengeImageCustomRenderEventHandler
The ChallengeImageCustomRender event's data class is ChallengeImageCustomRenderEventArgs. The following properties provide information specific to this event:
| Property | Description |
|---|---|
| Code | Gets the code generated within the challenge image of the ASPxCaptcha control. |
| Image | Provides access to a Bitmap object representing the ASPxCaptcha’s challenge image. |
The ChallengeImageCustomRender event occurs before each render of the challenge image.
The parameters of the event argument allow you to obtain the generated code (ChallengeImageCustomRenderEventArgs.Code) and draw a custom image (ChallengeImageCustomRenderEventArgs.Image).
The example below demonstrates how to handle the ChallengeImageCustomRender event to implement a custom challenge image.
<dx:ASPxCaptcha ID="ASPxCaptcha1" runat="server"
OnChallengeImageCustomRender="OnChallengeImageCustomRender" />
protected void OnChallengeImageCustomRender(object sender, ChallengeImageCustomRenderEventArgs e) {
using (Graphics graphics = Graphics.FromImage(e.Image)) {
System.Drawing.Image backgroundImage = System.Drawing.Image.FromFile(Server.MapPath("~/pp.jpg"));
graphics.DrawImage(backgroundImage, 0, 0, e.Image.Width, e.Image.Height);
Font font = new Font("Times New Roman", 40.0f, FontStyle.Bold, GraphicsUnit.Pixel);
graphics.DrawString(e.Code, font, Brushes.Red, new PointF(0.0f, 0.0f));
graphics.Flush();
}
}
Protected Sub OnChallengeImageCustomRender(ByVal sender As Object, ByVal e As ChallengeImageCustomRenderEventArgs)
Using graphics As Graphics = Graphics.FromImage(e.Image)
Dim backgroundImage As System.Drawing.Image = System.Drawing.Image.FromFile(Server.MapPath("~/pp.jpg"))
graphics.DrawImage(backgroundImage, 0, 0, e.Image.Width, e.Image.Height)
Dim font As New Font("Times New Roman", 40.0f, FontStyle.Bold, GraphicsUnit.Pixel)
graphics.DrawString(e.Code, font, Brushes.Red, New PointF(0.0f, 0.0f))
graphics.Flush()
End Using
End Sub
See Also