0

さて、プログラムにプライベートフォントコレクションを使用して、プログラムに少しの独自性を追加しようとしています。私が使用しているフォントは、デフォルトではコンピューターにインストールされていません。フォントの名前は youmurdererbb_reg です。リソース フォルダーにフォント ファイルがあり、ファイルは .ttf 形式です。これが私がこれまでに持っているものです:

Imports System.Drawing
Imports System.Windows.Forms
Imports System.Drawing.Text
Imports System.Text

Dim pc As New PrivateFontCollection


    Private Sub Main_Menu_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

        Try
            pc.AddFontFile(YouMurderer)
        Catch ex As Exception
            Trace.WriteLine(ex.ToString)
        End Try

    End Sub


    Private Sub Main_Menu_Paint(sender As Object, e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint

    Dim Fnt As Font = New Font(pc.Families(0), 80, FontStyle.Regular)
    e.Graphics.DrawString("This is the text that is being drawn", Fnt, Brushes.Black, 10, 10)

    End Sub

ここで、Private Font Collection を宣言しました。これを機能させるために、次のようなさまざまなことを試しました。

Dim YouMurderer As String = Encoding.ASCII.GetString(My.Resources.youmurdererbb_reg)

Dim YouMurderer As String = Convert.ToString(My.Resources.youmurdererbb_reg)

Dim YouMurderer As String = Convert.ToBase64String(My.Resources.youmurdererbb_reg)

Dim YouMurderer As String = Encoding.UTF8.GetString(My.Resources.youmurdererbb_reg)

しかし、どちらを選択しても、フォーム全体に大きな赤い「X」が表示されます(ピクチャボックスの「ErrorImage」のように)(追加情報としてフォームの背景に画像を設定しています)。

別の問題は、変換しようとしない場合です。

Dim YouMurderer As String = My.Resources.youmurdererbb_reg

次に、次のエラーが表示されます。

Value of type '1-dimensional array of Byte' cannot be converted to 'String'.

.NET (Framework 4) でこれについて助けが必要です! プログラム全体は、C#、C++、JAVA ではなく、VB.net で書かれています。

4

1 に答える 1