在Gambas3中为JPG/BMP图片添加文字并生成新图片
在Ubuntu 20.04中使用Gambas3给图片添加文字并导出为JPG/BMP
准备工作
确保系统已安装Gambas3,未安装的话执行以下命令:
sudo apt update && sudo apt install gambas3
实现步骤
创建Gambas图形项目
- 打开Gambas IDE,新建一个"图形应用程序"项目。
- 在窗体上添加以下控件:
PictureBox(命名为PictureBox1,用于预览原始图片)TextInput(命名为txtInput,用于输入要添加的文字)- 两个
Button(分别命名为btnLoadImage和btnAddText,文本设为"加载图片"和"添加文字并保存")
编写核心代码
将以下代码添加到窗体的代码编辑器中:Public Sub btnLoadImage_Click() ' 打开文件选择器加载图片 Dim sImagePath As String = OpenFile("选择图片", "Image files (*.jpg;*.bmp;*.png)|*.jpg;*.bmp;*.png") If sImagePath Then PictureBox1.Picture = Picture.Load(sImagePath) End If End Sub Public Sub btnAddText_Click() Dim imgOriginal As Image Dim imgNew As Image Dim g As Graphics Dim sText As String = Trim(txtInput.Text) ' 校验输入与图片状态 If sText = "" Then Message("请输入要添加的文字!") Return End If imgOriginal = PictureBox1.Picture If imgOriginal Is Null Then Message("请先加载一张图片!") Return End If ' 创建与原图尺寸一致的新图片画布 imgNew = Image.New(imgOriginal.Width, imgOriginal.Height) g = imgNew.Graphics ' 将原始图片绘制到新画布 g.DrawImage(imgOriginal, 0, 0) ' 配置文字样式 g.Font = Font.New("Ubuntu", 28, True, False) ' 字体、大小、加粗、斜体 g.Foreground = Color.RGB(255, 255, 255) ' 白色文字 g.Background = Color.Transparent ' 透明背景 g.TextAlign = Align.Center Or Align.Middle ' 水平+垂直居中 ' 在画布中心绘制文字 g.DrawText(sText, imgNew.Width / 2, imgNew.Height / 2) ' 导出为JPG(质量参数范围0-100,值越高画质越好) imgNew.Save(User.Home & "/edited_image.jpg", Picture.Jpeg, 95) ' 若要导出为BMP,替换为以下代码: ' imgNew.Save(User.Home & "/edited_image.bmp", Picture.Bmp) Message("图片已保存至" & User.Home & "目录!") End Sub
关键代码说明
- 图片加载:通过
OpenFile对话框选择图片,用Picture.Load加载到PictureBox。 - 画布创建:
Image.New创建与原图尺寸相同的空白画布,Graphics对象用于绘制操作。 - 文字绘制:通过
Font属性设置字体样式,Foreground设置文字颜色,DrawText指定位置绘制文字。 - 格式导出:
Save方法支持指定导出格式,JPG可调整质量参数,BMP为无损格式无需额外参数。
运行测试
- 点击"加载图片"选择本地的JPG/BMP/PNG图片。
- 在输入框中填写要添加的文字。
- 点击"添加文字并保存",处理后的图片会保存到用户主目录下。
内容的提问来源于stack exchange,提问作者Alejandro Bergesio
相关产品推荐
相关产品推荐

