画像にウォーターマークを追加する方法をお探しの場合品質の損失があります。誰か助けてくれますか?透かしはテキストまたはイメージにすることができます。画像にウォーターマークを追加する
この方法についてどのように
0
A
答えて
1
画像
public static void AddWaterMark(MemoryStream ms, string watermarkText, MemoryStream outputStream)
{
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
Graphics gr = Graphics.FromImage(img);
Font font = new Font("Tahoma", (float)40);
Color color = Color.FromArgb(50, 241, 235, 105);
double tangent = (double)img.Height/(double)img.Width;
double angle = Math.Atan(tangent) * (180/Math.PI);
double halfHypotenuse = Math.Sqrt((img.Height * img.Height) + (img.Width * img.Width))/2;
double sin, cos, opp1, adj1, opp2, adj2;
for (int i = 100; i > 0; i--)
{
font = new Font("Tahoma", i, FontStyle.Bold);
SizeF sizef = gr.MeasureString(watermarkText, font, int.MaxValue);
sin = Math.Sin(angle * (Math.PI/180));
cos = Math.Cos(angle * (Math.PI/180));
opp1 = sin * sizef.Width;
adj1 = cos * sizef.Height;
opp2 = sin * sizef.Height;
adj2 = cos * sizef.Width;
if (opp1 + adj1 < img.Height && opp2 + adj2 < img.Width)
break;
//
}
StringFormat stringFormat = new StringFormat();
stringFormat.Alignment = StringAlignment.Center;
stringFormat.LineAlignment = StringAlignment.Center;
gr.SmoothingMode = SmoothingMode.AntiAlias;
gr.RotateTransform((float)angle);
gr.DrawString(watermarkText, font, new SolidBrush(color), new Point((int)halfHypotenuse, 0), stringFormat);
gr.DrawImage(position, size, overlayImage) // It helps if your image-to-overlay is loaded from a PNG file (with transparency) to produce the best quality.
img.Save(outputStream, ImageFormat.Jpeg);
}
+0
この方法は透かし入りの画像を高画質で保存しますか? – Alexandre
+0
はいそれは....でなければなりません。 – rockyashkumar
+0
この行のためにコンパイルされません--- gr.DrawImage(position、size、overlayImage); position、size、およびoverlayImageは未定義です。 – Alexandre
関連する問題
- 1. Facebookのプロフィール画像にウォーターマークを追加するAPP
- 2. PHPで画像にウォーターマークを追加する
- 3. javaのMySqlDBの画像にウォーターマークを追加
- 4. アップロードする前に画像にウォーターマークを追加しますか? AS3 + Flex
- 5. ウォーターマークをつけた小さな画像を大きな画像に追加するopencv4android
- 6. イメージにウォーターマークを追加する
- 7. ウォーターマークをキャプチャストリームに追加する
- 8. ウォーターマークの画像をCListCtrl
- 9. 画像を追加する
- 10. アンドロイドレイアウトのスピナーの横に画像を追加して画像を追加する
- 11. イメージにウォーターマークとしてウェブリンクを追加
- 12. プロジェクトに画像を追加
- 13. JAppletに画像を追加
- 14. UITabBarに画像を追加
- 15. listViewに画像を追加
- 16. ボタンに画像を追加
- 17. リピータに画像を追加
- 18. 別の画像の上に画像を追加するには?
- 19. 画像にアクションリスナーを追加する
- 20. UIAlertControllerに画像を追加する
- 21. 画像フィールドをワードプレスカテゴリに追加する
- 22. 画像をalertdialogオプションに追加する
- 23. JFrameに画像を追加する
- 24. .dllに画像を追加する
- 25. ページに画像を追加するonclick
- 26. 画像にボタンを追加する
- 27. 画像にドメインを追加する
- 28. カスタムリストビューに画像を追加する
- 29. ポリゴンに画像を追加する
- 30. 画像をアンドロイドリストビューに追加する
に透かしとして画像を追加するためのあなたは、可視または不可視透かしをしたいですか? – ObscureRobot
目に見えない透かしはどういう意味ですか?トランスペアレント?むしろ透明な透かしが必要です。 – Alexandre
あなたが記述する透かしは画像データに存在します。私は、メタデータに存在する透かしや、画像のデータ構造に隠れている透かしについて話しています。簡単な例では、EXIFデータに著作権文字列を挿入します。より洗練された例には、明らかに無関係な複数のEXIFデータの一部が含まれ、チェックサムに結合することができます。あなたの好みは、あなたの目的によって異なります。 – ObscureRobot