两张图的问题

时间:2022-12-01 06:07:41
我有两张图  一张会大点。 一张会小点。我需要把两张都合并,小图嵌套在大图里面  我们可以想象成一幅图  然后小图就是一个LOGO 我需要把这个LOGO 放上去。
问题 
1. 怎么把这两幅图合并?(能给个例子看看么?)图片的格式暂定为JPG的。
2. 这个logo所放的位置我可以指定么?(像给一个坐标可以实现么?)

25 个解决方案

#1


ps会么?

#2


用水印方法做吧,具体的可以上网上找找,好多的~!

#3


干嘛要这么做,用PS处理下在放上去不行吗?

#4


画图不就行了

#5


Imgage large;
Imgage small;

Graphics gl=Graphics .FromImage(large);
gl.DrawImage(small,...........);

#6


还是说水印效果?

c# 添加图片水印,可以指定水印位置+生成缩略图
http://www.cnblogs.com/cheatlove/articles/437867.html

#7


Graphics.DrawImage

#8


bitmap bigMap,smallMap;
分别赋值
for(int i=0;i<smallMapWidth;i++)
{
for(int j=0;j<smallMap.height;j++)
{
bigmap.setPixel(X,Y,smallmap.getPixtel(i,j));
}
}

#9


PS确实简单 但是就是在页面上给USER自己选择 他可以先上传一张大图  然后上传一个LOGO
然后我就把LOGO放在大图上。
这个是在web上实现

#10


引用 4 楼 alifriend 的回复:
画图不就行了


我要写好程式  合成的选图合成的事情给user自己选择

#11


引用 5 楼 angel6709 的回复:
Imgage large;
Imgage small;

Graphics gl=Graphics .FromImage(large);
gl.DrawImage(small,...........);

C# 里面这个方法可以实现的

#12


引用 9 楼 zxdouzx 的回复:
PS确实简单 但是就是在页面上给USER自己选择 他可以先上传一张大图  然后上传一个LOGO
然后我就把LOGO放在大图上。
这个是在web上实现

传到服务器用C#处理就好了

#13


引用 12 楼 aa1018 的回复:
引用 9 楼 zxdouzx 的回复:
 PS确实简单 但是就是在页面上给USER自己选择 他可以先上传一张大图  然后上传一个LOGO
 然后我就把LOGO放在大图上。
 这个是在web上实现

 传到服务器用C#处理就好了


对呀 对呀  我就不知道该怎么做  望指教。。。

#14


http://yanshi.veeqi.com/code/jscode/0127jQuery_code/,你看你要是不是这个效果,大图片上有小图片logo,那些小图片的位置可以调的,只需要改哈相应的CSS文件就可以了。如果你需要的话,给我个邮箱,我给你发过去

#15


引用 1 楼 wiki14 的回复:
ps会么?
哈哈

#16


。。。。。PS啊,实在不行,图发来,我帮你P,质量么,至少看得过去吧。

#17


额,这麻烦的,现在都喜欢搞成自定义,这不自找麻烦嘛,唉,技术又不是用来炫耀的。。。。。

#18


UP

#19


用div+css实现水印效果
.Index_watermark {
height: 76px;
width: 57px;
visibility: visible;
position:absolute;
z-index: 100;
float: right;
margin-top:-110px;
margin-left: 18px;
padding-top: -10px;
padding-right: 5px;
padding-bottom: 5px;
padding-left: 5px;

position: relative; left:-76px; top:105px;
}

#20


private Image MarkImage(Image img1, Image img2)
        {
            Image MergedImage = default(Image);
            //设定背景图  
            Graphics gr = System.Drawing.Graphics.FromImage(img1);
            //新建logo浮水印图片  
            Bitmap Logo = new Bitmap(img2.Width, img2.Height);
            Graphics tgr = Graphics.FromImage(Logo);
            ColorMatrix cmatrix = new ColorMatrix();
            //设定色彩(透明度)  
            cmatrix.Matrix33 = 0.5F;
            ImageAttributes imgattributes = new ImageAttributes();
            imgattributes.SetColorMatrix(cmatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
            tgr.DrawImage(img2, new System.Drawing.Rectangle(0, 0, Logo.Width, Logo.Height), 0, 0, Logo.Width, Logo.Height, GraphicsUnit.Pixel, imgattributes);
            tgr.Dispose();
            //logo图片位置  
            gr.DrawImage(Logo, img1.Width / 3, 10); gr.Dispose();
            MergedImage = img1;
            return MergedImage;
        }

#21


up一下

#22


mark

#23


引用 19 楼 xuxinmin 的回复:
用div+css实现水印效果
 .Index_watermark {
  height: 76px;
  width: 57px;
  visibility: visible;
  position:absolute;
  z-index: 100;
  float: right;
  margin-top:-110px;
  margin-left: 18px;
  padding-top: -10px;
  padding-right: 5px;
  padding-bottom: 5px;
  padding-left: 5px;

  position: relative; left:-76px; top:105px;
 }


其实DIV的做法最简单  但是我需要在后端执行  因为还有其他的功能一起  所以这个只是一部分而已。还是受教了。谢谢哈。嘿嘿。。

#24


引用 20 楼 qlzf11140820 的回复:
C# codeprivate Image MarkImage(Image img1, Image img2)
        {
            Image MergedImage=default(Image);//设定背景图            Graphics gr= System.Drawing.Graphics.FromImage(img1);//新建logo浮水印图片            Bitmap Logo=new Bitmap(img2.Width, img2.Height);
            Graphics tgr= Graphics.FromImage(Logo);
            ColorMatrix cmatrix=new ColorMatrix();//设定色彩(透明度)            cmatrix.Matrix33=0.5F;
            ImageAttributes imgattributes=new ImageAttributes();
            imgattributes.SetColorMatrix(cmatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
            tgr.DrawImage(img2,new System.Drawing.Rectangle(0,0, Logo.Width, Logo.Height),0,0, Logo.Width, Logo.Height, GraphicsUnit.Pixel, imgattributes);
            tgr.Dispose();//logo图片位置            gr.DrawImage(Logo, img1.Width/3,10); gr.Dispose();
            MergedImage= img1;return MergedImage;
        }


THANK you so  much !!

#25


引用 14 楼 baishi1987 的回复:
http://yanshi.veeqi.com/code/jscode/0127jQuery_code/,你看你要是不是这个效果,大图片上有小图片logo,那些小图片的位置可以调的,只需要改哈相应的CSS文件就可以了。如果你需要的话,给我个邮箱,我给你发过去


YES  就是这个效果。。

#1


ps会么?

#2


用水印方法做吧,具体的可以上网上找找,好多的~!

#3


干嘛要这么做,用PS处理下在放上去不行吗?

#4


画图不就行了

#5


Imgage large;
Imgage small;

Graphics gl=Graphics .FromImage(large);
gl.DrawImage(small,...........);

#6


还是说水印效果?

c# 添加图片水印,可以指定水印位置+生成缩略图
http://www.cnblogs.com/cheatlove/articles/437867.html

#7


Graphics.DrawImage

#8


bitmap bigMap,smallMap;
分别赋值
for(int i=0;i<smallMapWidth;i++)
{
for(int j=0;j<smallMap.height;j++)
{
bigmap.setPixel(X,Y,smallmap.getPixtel(i,j));
}
}

#9


PS确实简单 但是就是在页面上给USER自己选择 他可以先上传一张大图  然后上传一个LOGO
然后我就把LOGO放在大图上。
这个是在web上实现

#10


引用 4 楼 alifriend 的回复:
画图不就行了


我要写好程式  合成的选图合成的事情给user自己选择

#11


引用 5 楼 angel6709 的回复:
Imgage large;
Imgage small;

Graphics gl=Graphics .FromImage(large);
gl.DrawImage(small,...........);

C# 里面这个方法可以实现的

#12


引用 9 楼 zxdouzx 的回复:
PS确实简单 但是就是在页面上给USER自己选择 他可以先上传一张大图  然后上传一个LOGO
然后我就把LOGO放在大图上。
这个是在web上实现

传到服务器用C#处理就好了

#13


引用 12 楼 aa1018 的回复:
引用 9 楼 zxdouzx 的回复:
 PS确实简单 但是就是在页面上给USER自己选择 他可以先上传一张大图  然后上传一个LOGO
 然后我就把LOGO放在大图上。
 这个是在web上实现

 传到服务器用C#处理就好了


对呀 对呀  我就不知道该怎么做  望指教。。。

#14


http://yanshi.veeqi.com/code/jscode/0127jQuery_code/,你看你要是不是这个效果,大图片上有小图片logo,那些小图片的位置可以调的,只需要改哈相应的CSS文件就可以了。如果你需要的话,给我个邮箱,我给你发过去

#15


引用 1 楼 wiki14 的回复:
ps会么?
哈哈

#16


。。。。。PS啊,实在不行,图发来,我帮你P,质量么,至少看得过去吧。

#17


额,这麻烦的,现在都喜欢搞成自定义,这不自找麻烦嘛,唉,技术又不是用来炫耀的。。。。。

#18


UP

#19


用div+css实现水印效果
.Index_watermark {
height: 76px;
width: 57px;
visibility: visible;
position:absolute;
z-index: 100;
float: right;
margin-top:-110px;
margin-left: 18px;
padding-top: -10px;
padding-right: 5px;
padding-bottom: 5px;
padding-left: 5px;

position: relative; left:-76px; top:105px;
}

#20


private Image MarkImage(Image img1, Image img2)
        {
            Image MergedImage = default(Image);
            //设定背景图  
            Graphics gr = System.Drawing.Graphics.FromImage(img1);
            //新建logo浮水印图片  
            Bitmap Logo = new Bitmap(img2.Width, img2.Height);
            Graphics tgr = Graphics.FromImage(Logo);
            ColorMatrix cmatrix = new ColorMatrix();
            //设定色彩(透明度)  
            cmatrix.Matrix33 = 0.5F;
            ImageAttributes imgattributes = new ImageAttributes();
            imgattributes.SetColorMatrix(cmatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
            tgr.DrawImage(img2, new System.Drawing.Rectangle(0, 0, Logo.Width, Logo.Height), 0, 0, Logo.Width, Logo.Height, GraphicsUnit.Pixel, imgattributes);
            tgr.Dispose();
            //logo图片位置  
            gr.DrawImage(Logo, img1.Width / 3, 10); gr.Dispose();
            MergedImage = img1;
            return MergedImage;
        }

#21


up一下

#22


mark

#23


引用 19 楼 xuxinmin 的回复:
用div+css实现水印效果
 .Index_watermark {
  height: 76px;
  width: 57px;
  visibility: visible;
  position:absolute;
  z-index: 100;
  float: right;
  margin-top:-110px;
  margin-left: 18px;
  padding-top: -10px;
  padding-right: 5px;
  padding-bottom: 5px;
  padding-left: 5px;

  position: relative; left:-76px; top:105px;
 }


其实DIV的做法最简单  但是我需要在后端执行  因为还有其他的功能一起  所以这个只是一部分而已。还是受教了。谢谢哈。嘿嘿。。

#24


引用 20 楼 qlzf11140820 的回复:
C# codeprivate Image MarkImage(Image img1, Image img2)
        {
            Image MergedImage=default(Image);//设定背景图            Graphics gr= System.Drawing.Graphics.FromImage(img1);//新建logo浮水印图片            Bitmap Logo=new Bitmap(img2.Width, img2.Height);
            Graphics tgr= Graphics.FromImage(Logo);
            ColorMatrix cmatrix=new ColorMatrix();//设定色彩(透明度)            cmatrix.Matrix33=0.5F;
            ImageAttributes imgattributes=new ImageAttributes();
            imgattributes.SetColorMatrix(cmatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
            tgr.DrawImage(img2,new System.Drawing.Rectangle(0,0, Logo.Width, Logo.Height),0,0, Logo.Width, Logo.Height, GraphicsUnit.Pixel, imgattributes);
            tgr.Dispose();//logo图片位置            gr.DrawImage(Logo, img1.Width/3,10); gr.Dispose();
            MergedImage= img1;return MergedImage;
        }


THANK you so  much !!

#25


引用 14 楼 baishi1987 的回复:
http://yanshi.veeqi.com/code/jscode/0127jQuery_code/,你看你要是不是这个效果,大图片上有小图片logo,那些小图片的位置可以调的,只需要改哈相应的CSS文件就可以了。如果你需要的话,给我个邮箱,我给你发过去


YES  就是这个效果。。