2012-10-19 4 views
0

이 같은 DrawImage, DrawPathcontext.drawImage 같은 HTML5 캔버스 방법 기타와 context.beginPath(); ... context.closePath(); 각각 스크립트 # 또는 JS 컨버터 다른 C 번호를 통해 STANDART System.Drawing.Graphics 방법을 전환 할 수 있는가 ?스크립트 # 통해 HTML5 캔버스 메소드 System.Drawing.Graphics 변환

컴파일 후 .js 파일 편집없이 어떻게 자동으로 수행 할 수 있습니까?

+0

의 IDrawingContext를 사용하려면 어떻게 목적? 몇 가지 코드를 보여줄 수 있습니까? – lboshuizen

+0

@ lboshuizen, 나는 클라이언트 측 자바 스크립트 코드로 이미지 처리를 위해 내 서버 C# 코드를 포팅하고 싶다. –

+1

좋은 질문 인 것 같습니다 ... 왜 그것이 닫혔는지 모르겠습니다. 나는 당신이 추상화를 만들 수있는 아래의 대답에 동의 할 것이라고 생각합니다. 일반 목적의 드로잉 컨텍스트 추상화보다는 앱에 더 구체적인 것을 제안 할 수도 있지만, 이는 여러 가지 요인에 따라 달라질 수 있습니다. –

답변

1

나는 동일한 문제가있었습니다.

캔버스에서 그리는 방법은 System.Drawing.Graphics를 사용하는 것과 완전히 동일하지 않습니다. 해결책은 다음과 같이 System.Drawing.Graphics 통해 추상화를 만드는 것입니다 : 스크립트 #에서

public interface IDrawingContext{ 
    void Save(); 
    void Restore(); 
    void DrawLine(int x1, int y1, int x2, int y2, string color, int strokeWidth); 
    void DrawText(int x, int y, string text, string color); 
    object DrawRect(int x, int y, int width, int height, object fill, string strokeColor); 
    object DrawPoly(List<Coordinate> points, object fill, string strokeColor, int strokeWidth); 
    object DrawCircle(int x, int y, int radius, object fill, string strokeColor); 
    object Transform(int translateX, int translateY, int rotate); 
    . 
    . 
    . 
    void Clear(); 
} 

이 인터페이스를 구현하는 클래스를 creat에와 스크립트 #의 System.Html를 사용하여 캔버스에 기본 통화를했다. Media.Graphics 네임 스페이스입니다. 는 C# 프로젝트에서 는

다음 것은 기존 그리기 코드를 리팩토링 동일한하지만 사용 System.Drawing.Graphics 대신 System.Drawing.Graphics 당신이 무엇보다 정확 달성하기 위해 노력하고 무엇

+0

감사합니다. 이미이 코드를 작성했다면 pastebin.com이나 소스 코드 호스팅에 게시하여 다른 개발자에게 도움을 줄 수 있습니까? :) –

+0

A. 그렇지만 A. 캔버스에 직접적으로 쓰이지는 않지만 Dojo의 그래픽 모듈에 쓰여집니다. B. 내 고객이 그것에 동의 할 것입니다 :-) – lboshuizen

+0

더 이상 필요하지 않습니다. 기본 그래픽 작업을 수행 할 수있는 Script #의 System.Html.Media.Graphics 어셈블리에 CanvasElement 및 CanvasContext와 같은 그래픽 클래스가 있음을 발견했습니다. –