iT邦幫忙

0

請問如何用c#將文字加圖片轉為一張圖檔.

  • 分享至 

  • xImage

請問如何將文字加圖片轉為一張圖檔.

froce iT邦大師 1 級 ‧ 2023-04-07 10:34:33 檢舉
嗯...win10的小畫家文字工具?
ccutmis iT邦高手 2 級 ‧ 2023-04-07 10:49:33 檢舉
把你的標題 "請問如何用c#將文字加圖片轉為一張圖檔" 拿去問 chatGPT ,它會給你一段範例代碼
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

2
dscwferp
iT邦高手 1 級 ‧ 2023-04-07 12:57:22

您可以使用 C# 的 System.Drawing 名稱空間內的 Graphics 類別建立一張圖片,然後使用 DrawString 和 DrawImage 方法在圖片上繪製您的文字和圖片。以下是一個簡單的範例:

using System.Drawing;
using System.Drawing.Imaging;

// 設定產生影象的寬高和背景色
int width = 800;
int height = 600;
Color bgColor = Color.White;

// 建立一個 Graphics 物件以繪製影象
using (Bitmap bitmap = new Bitmap(width, height, PixelFormat.Format32bppArgb))
using (Graphics graphics = Graphics.FromImage(bitmap))
{
    // 設定背景色
    graphics.Clear(bgColor);

    // 加入文字
    string text = "Hello World";
    Font font = new Font("Arial", 32, FontStyle.Bold, GraphicsUnit.Pixel);
    SolidBrush brush = new SolidBrush(Color.Black);
    graphics.DrawString(text, font, brush, new PointF(0, 0));

    // 加入圖片
    Image image = Image.FromFile("image.jpg");
    graphics.DrawImage(image, new Rectangle(0, height - image.Height, image.Width, image.Height));
    
    // 儲存影象
    bitmap.Save("output.png", ImageFormat.Png);
}

這個範例建立了一個寬為 800,高為 600 的影象,背景色為白色。它在影象的左上角加入了一個黑色的 "Hello World" 文字,並在影象的底部加入了一張名為 "image.jpg" 的圖片。最後,它將產生的影象儲存為 "output.png" PNG 格式的圖片。

0
JamesDoge
iT邦高手 1 級 ‧ 2023-04-10 09:11:47
using System;
using System.Drawing;
using System.Drawing.Imaging;

class Program
{
    static void Main(string[] args)
    {
        // 載入原始圖片
        string imagePath = @"path\to\your\image.jpg";
        Image image = Image.FromFile(imagePath);

        // 添加文字到圖片
        string text = "您要添加的文字";
        PointF point = new PointF(10, 10); // 文字的位置(X,Y座標)
        Image imageWithText = AddTextToImage(image, text, point, "Arial", 12, Color.Red);

        // 儲存合成後的圖片
        string outputImagePath = @"path\to\output\image.jpg";
        imageWithText.Save(outputImagePath, ImageFormat.Jpeg);
    }

    static Image AddTextToImage(Image image, string text, PointF point, string fontFamily, float fontSize, Color color)
    {
        // 創建一個與原始圖片尺寸相同的Bitmap
        Bitmap bitmap = new Bitmap(image.Width, image.Height);
        
        // 使用Graphics物件繪製圖像
        using (Graphics graphics = Graphics.FromImage(bitmap))
        {
            // 繪製原始圖片到新的Bitmap
            graphics.DrawImage(image, new Rectangle(0, 0, image.Width, image.Height), new Rectangle(0, 0, image.Width, image.Height), GraphicsUnit.Pixel);
            
            // 設置文字樣式
            Font font = new Font(fontFamily, fontSize);
            SolidBrush brush = new SolidBrush(color);
            
            // 繪製文字到圖片上
            graphics.DrawString(text, font, brush, point);
        }

        return bitmap;
    }
}

我要發表回答

立即登入回答