사용자가 특정 영화에 투표를 나누길 원하는 웹 응용 프로그램 중 하나에서 비슷한 문제가있었습니다.
<meta property="og:image" content="@share_image" />
<meta property="og:site_name" content="@SystemResource.application_name" />
<meta property="og:url" content="@share_url" />
<meta property="og:type" content="article" />
<meta property="og:title" content="@share_title" />
<meta property="og:description" content="@Model.review_text" />
내 @share_image
영화 커버와 사용자의 투표 (1-10)와 이미지에 URL을 포함하고 그 위에 : 내가 생각 해낸 것은 다음 메타 헤더가 각 사용자의 투표에 대해 고유 한 페이지를 만드는 것이 었습니다 .
내가 생성 내 사용자가 투표를하고이 다음과 같은 방식으로 이루어집니다 @share_image
:
public static ImageCodecInfo GetEncoderInfo(ImageFormat format)
{
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders();
foreach (ImageCodecInfo codec in codecs)
{
if (codec.FormatID == format.Guid)
{
return codec;
}
}
return null;
}
를 사용하여 그래픽 클래스에이 참조에 : 당신은 또한이 방법이 필요합니다
// main image
Image canvas = Bitmap.FromFile(configData.MainImageAbolutePath);
// vote image (circles with numbers from 1 to 10)
Bitmap smallImg = new Bitmap(configData.OverlayImageAbolutePath);
// create new image
using (Graphics gr = Graphics.FromImage(canvas))
{
// here you can play with quality
gr.SmoothingMode = SmoothingMode.HighQuality;
gr.InterpolationMode = InterpolationMode.HighQualityBicubic;
gr.PixelOffsetMode = PixelOffsetMode.HighQuality;
// place vote image on top of the cover using x and y coordinates
gr.DrawImage(smallImg, new Point(configData.X, configData.Y));
}
// here you can play with quality
ImageCodecInfo jgpEncoder = GetEncoderInfo(ImageFormat.Jpeg);
Encoder myEncoder = Encoder.Quality;
EncoderParameters myEncoderParameters = new EncoderParameters(1);
EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 100L);
myEncoderParameters.Param[0] = myEncoderParameter;
// generate our @share_image
canvas.Save(configData.DestinationImageAbolutePath, jgpEncoder, myEncoderParameters);
텍스트 및 기타 요소를 추가하십시오 : https://msdn.microsoft.com/en-us/library/system.drawing.graphics(v=vs.110).aspx
당신은 FB가 FB에서 어떻게 렌더링되는지 제어 할 수 있습니까? IINM은 "공유 이미지"(및 기타)를 사용자 정의 할 수있는 표준 [Open Graph 마크 업] (https://developers.facebook.com/docs/sharing/webmasters)을 제외하고 가능한 다른 "레이아웃"입니다. 광고를하십시오 (그들은 당신의 "포스트"가 광고 될 방법에 대한 몇 가지 옵션을 제공합니다). – EdSF
아니 내 질문에 어떻게 페이스 북의 측면에서 발생하지 않습니다. 이미지 URL을 제공해야한다는 것을 알고 있습니다. 내가 원하는 것은이 이미지를 동적으로 생성 한 다음 스트림을 통해 공급할 수있게하는 것입니다. 하지만 어떻게 서버 측에서이 이미지를 생성합니까? 도움이되는 라이브러리가 있습니까? 벡터화되어 이미지로 내보낼 수 있습니까? –
[Image resizer] (https://imageresizing.net/)와 같은 것을 살펴볼 수 있습니다. Hth ... – EdSF