Im пытается нарисовать график на экране телефона Android. Я создал классы, которые мне нужны в приложении форм Windows, чтобы сделать тестирование проще и быстрее. В моем приложении используется класс System.Drawingxamarin System.Drawing.Graphics
Когда я пытаюсь применить мой код в проекте xamarin android, класс System.Drawing, по-видимому, не содержит «Графика», «Шрифт», «Ручка» и «Кисти» "классы. Класс System.Drawing.Graphics задокументирован в xamarin android api, но все же я не могу заставить его работать.
Должен ли я импортировать diffrent-класс, чтобы иметь возможность использовать эти классы, или мне нужно изменить код, который я написал?
Моего класс Graph (только рисует й и ось Y + число): Graph Class
//author Frank Keuning
using Android.Content;
using Android.Graphics.Drawables;
using Android.Graphics.Drawables.Shapes;
using Android.Views;
using System.Drawing;
namespace App2
{
public class Graph
{
Graphics g;
int height;
int width;
int step;
int x;
int y;
Point yNumPoint;
Point xNumPoint;
Font font = new Font("Verdana", 7.5f);
Pen pen = Pens.Black;
public Graph(Graphics gph, int hght, int wdth, int stp, int xStart, int yStart)
{
g = gph;
height = hght;
width = wdth;
step = stp;
x = xStart;
y = yStart;
}
public void draw(Graphics g)
{
g.DrawLine(pen, x, y, x, height);
g.DrawLine(pen, x, height, width, height);
drawNumbers(g);
}
void drawNumbers(Graphics g)
{
yNumPoint = new Point(0, height - y);
xNumPoint = new Point(x, height + y);
int yNumValue = 0;
int xNumValue = 0;
while (yNumValue <= height)
{
g.DrawString(yNumValue.ToString(), font, Brushes.Black, yNumPoint);
yNumValue += step;
yNumPoint.Y -= step;
}
while (xNumValue <= width)
{
g.DrawString(xNumValue.ToString(), font, Brushes.Black, xNumPoint);
xNumValue += step;
xNumPoint.X += step;
}
}
}
}
Вставьте код. Большинство из нас не будет тратить время, чтобы перейти по ссылке, которая может сломаться. Скопируйте и вставьте его. Также см. Stackoverflow.com/help/mcve для некоторой помощи о том, как включить –
. Я добавил свой код, спасибо. – FrankK
System.Drawing.Graphics привязан к W32 и GDI-системам, которые не существуют на Android.Вам нужно будет использовать API-интерфейсы для Android, чтобы выполнять аналогичные функции в Android, даже с Xamarin – Jason