生成带水印的图片

带水印的图片给图片加水印 给图片添加水印 很多网站要的图片有都带有水印,这一有个例子大家可看参考一下 立即下载

package cn.dyx.util;

import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;

import javax.imageio.ImageIO;

import org.lxh.smart.File;

public class ImageUtils {

 /**
  * 保存带水印的图片
  * @param f  要保存文件,类型必须是SmartUpload中的File类型
  * @param realPath 保存的目录
  * @param fileName 要保存的文件名
  * @throws Exception
  */
 public static void saveFileAddWater(File f, String realPath, String fileName)
   throws Exception {
  // 循环取得文件内容
  byte[] data = new byte[f.getSize()];
  for (int i = 0; i < f.getSize(); i++) {
   data[i] = f.getBinaryData(i);
  }
  // 使用InputStream读入
  InputStream is = new ByteArrayInputStream(data);
  // 创建缓存图片
  BufferedImage image = ImageIO.read(is);
  // 取得画笔对象
  Graphics g = image.getGraphics();

  // 读取水印文件
  String waterPath = realPath + "/water.jpg";
  BufferedImage waterImg = ImageIO.read(new java.io.File(waterPath));

  g.drawImage(waterImg, 0, 0, new javax.swing.JFrame());

  ImageIO.write(image, f.getFileExt(), new java.io.File(realPath + "/"
    + fileName));

 }

}

 

 

 

处理文件上传:

 

 


 public void update(HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  // 接收参数。
  // 由于要进行文件操作,因此先初始化SmartUpload。
  SmartUpload smart = new SmartUpload();
  // 初始化
  smart.initialize(super.getServletConfig(), request, response);
  smart.upload();

  // 取得参数以及文件
  int empno = Integer.parseInt(smart.getRequest().getParameter("empno"));
  String ename = smart.getRequest().getParameter("ename");
  String job = smart.getRequest().getParameter("job");
  int mgr = Integer.parseInt(smart.getRequest().getParameter("mgr"));
  SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
  Date hiredate = sf.parse(smart.getRequest().getParameter("hiredate"));
  double sal = Double.parseDouble(smart.getRequest().getParameter("sal"));
  double comm = Double.parseDouble(smart.getRequest()
    .getParameter("comm"));
  int deptno = Integer
    .parseInt(smart.getRequest().getParameter("deptno"));

  Emp emp = new Emp();
  emp.setComm(comm);
  emp.setDeptno(deptno);
  emp.setEmpno(empno);
  emp.setEname(ename);
  emp.setHiredate(hiredate);
  emp.setJob(job);
  emp.setMgr(mgr);
  emp.setSal(sal);

  // 处理文件上传
  File f = smart.getFiles().getFile(0);
  if (f != null && f.getSize() > 0) {

   if (f.getContentType().trim().equals("image/pjpeg")
     || f.getContentType().trim().equals("image/gif")) {
    // 取得真实路径
    String path = request.getSession().getServletContext()
      .getRealPath("/upload")
      + "/";
    // 先删除原有文件
    String oldName = smart.getRequest().getParameter("oldphoto");

    java.io.File oldFile = new java.io.File(path + oldName);
    if (oldFile.exists()) {
     oldFile.delete();
    }

    // 传入新文件
    String fileName = UUID.randomUUID().toString() + "."
      + f.getFileExt();

    emp.setPhoto(fileName);

    // 保存文件
   // f.saveAs(path + fileName);

//处理带水印的文件保存

 ImageUtils.saveFileAddWater(f, path, fileName) ;


   }
  } else {
   // 如果没有传递文件,则还使用原有文件来显示
   String oldName = request.getParameter("oldphoto");
   if (!"".equals(oldName)) {
    // 如果不是空值,将原有文件名设置到vo中。
    emp.setPhoto(oldName);
   }
  }

  boolean flag = ServiceFactory.getEmpServiceInstance().update(emp);

  // 根据结果将提示信息传递到emp_insert.jsp上
  if (flag) {
   request.setAttribute("message", "雇员修改成功!");
   request.setAttribute("path", "pages/EmpServlet?status=list");
  } else {
   request.setAttribute("message", "雇员修改失败,该雇员不存在,已经被删除!");
   request.setAttribute("path", "pages/EmpServlet?status=list");
  }

  // 跳转
  request.getRequestDispatcher("/pages/forward.jsp").forward(request,
    response);

 }

 


 

从ATE到ATPG:基于Scan Chain的芯片制造缺陷定位实战解析 本文深入解析了从ATE到ATPG的芯片制造缺陷定位实战技术,重点介绍了Scan Chain的工作原理、异步复位触发器处理技巧以及Design Compiler中的DFT实现方法。通过实际案例展示了如何利用ATE测试数据和ATPG工具进行精确的缺陷定位,并分享了提升测试覆盖率和优化测试成本的专业技巧,为芯片测试工程师提供了宝贵的实战经验。 阅读详情

相关推荐

BitLocker磁盘锁定解决方法

摘要:本文介绍了BitLocker加密磁盘被锁的两种情况及解决方法。对于系统盘锁定,建议在微软账户中查找48位恢复密钥;数据盘锁定可尝试密码或恢复密钥解锁。若密钥丢失,可通过IT支持或数据恢复服务尝试解决。预防措施包括妥善备份密钥到微软账户和离线位置,避免随意更改系统硬件配置。BitLocker安全性高,恢复密钥是解锁关键,提醒用户务必做好备份以防数据丢失。(148字)

yueke06442300的专栏 2677

给图片加上带版权的水印

我们在网站上有些时候需要给图片加上带版权的水印,.net的Graphics类可以很轻松的实现这一点。效果图:(图片最上端的那行字便是我们加上的版权水印了)实现代码: /**//// &lt;summary&gt;    /// 生成带版权水印的图片    /// &lt;/summary&gt;    /// &lt;param name="IconImg"&gt;要生成水印图片的文件地址&lt...

weixin_34390996的博客 410

电池管理系统(BMS)系列(四)—数据采集之温度

属于BMS系列文章,介绍了电池包温度采集相关方式

zxx52113140的博客 5461

AI技术在图像水印处理中的应用

作者简介:李翔,国内某互联网大厂AI民工,前携程酒店图像技术负责人,主导并参与一系列图像智能化算法的研发与落地工作。在ICCV和CVPR等学术会议及国际期刊上发表论文十余...

视说AI 4434

Python爬取小红书种草商品评论数据:从入门到实战全攻略(附反爬+情感分析方案)

Python爬取小红书种草商品评论数据,核心是“抓包找到正确的接口+处理登录验证+合理的反爬策略”。新手不用一开始就追求多笔记批量爬取和情感分析,先把单笔记的评论抓取和存储跑通,再逐步扩展功能。我做的这个系统现在每天帮朋友爬取3-5款美妆产品的评论,自动做情感分析和关键词提取,她再也不用手动翻评论了,效率提升了80%。如果你们在开发中遇到具体问题,比如接口找不到、Cookie过期、IP被封,都可以在评论区留言,我会一一解答。后续也可以出一期小红书笔记种草数据爬取的教程,帮助大家更全面地分析竞品数据。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1352

【八股】JUC并发编程篇

👉抽象队列同步器,就是一种锁,内部维护的是一个先进先出的双向队列,队列中存储的是排队的线程,用state来标识是否有线程获得锁【0是无锁状态】👉流程:当一个线程拿到锁后会修改state = 1,这时如果有其他线程访问则会进入队列进行排序,直到state变成0后,队头线程才会拿到锁。在对state进行修改时,用的是CAS操作,所以可以保证原子性。👉它可以实现公平锁或非公平锁【默认】,上述是一个公平锁。如果新线程和队头线程抢锁资源就是非公平锁。

qq_44768318的博客 554

图片加带版权的水印

[code="C#"]//// /// 生成带版权水印的图片 /// /// 要生成水印图片的文件地址 private void MakeWaterMark(string IconImg) { //定义输出位图 Bitmap bmp = new Bitmap(640, 480); //定义绘图...

SailingAptech的专栏 702

OpenClaw Manager Pro - 可视化管理工具

OpenClaw Manager Pro 是一个现代化的 Web 管理界面,用于管理多个 OpenClaw Gateway 实例。🎨美观的界面:深色主题,渐变设计,现代化 UI📡实时监控:WebSocket 实时推送状态和日志🔧完整管理:创建、编辑、删除、启动、停止 Gateway📊多渠道支持:飞书、Telegram、Discord、Slack、微信、钉钉🧩技能管理:可视化配置 61+ 个技能🌍跨平台:支持 macOS、Linux、Windows使用自定义模型系统会自动在中创建},

Maynor的博客 3087

给图片添加水印图标或文字

给图片添加水印图标或文字 原文出处已经记不得了,这是根据原文自己敲出来的,实际运行过,可以直接使用,感谢原作者 代码块 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.imageio.ImageIO; import javax.swing.*; import java.awt.*; impo...

rico_rico的博客 988

SPICE仿真软件:HSPICE_(22).HSPICE仿真案例分析

通过上述案例分析,我们可以看到HSPICE仿真软件在不同电路类型和仿真场景中的应用。无论是简单的直流分析、交流分析还是复杂的暂态分析,HSPICE都能提供详细的仿真结果,帮助我们更好地理解和优化电路设计。希望这些案例能够为读者提供实用的参考和指导,进一步提升使用HSPICE进行电路仿真的能力。输入文件的编写:确保输入文件格式正确,使用注释来解释每一部分的内容。分析类型的选择:根据电路的特点选择合适的分析类型,如.DC.AC和.TRAN。输出结果的设置:使用.print命令来指定需要输出的节点电压和支路电流。

kkchenjj的博客 1309

STM32开发 -- LIS3DH三轴加速度计开发详解

这次要讲一下LIS3DH三轴加速度计的开发使用,之前是有讲过 MPU6050开发 的,但当时是在Linux下做的。额,还是个半成品,哈哈。现在手边有STM32的开发板,可以实实在在的来实现以下卡尔曼滤波了。 一、LIS3DH初识 依照惯例,先看一下手册,大致先了解一下,LIS3DH是什么模块。 下载:LIS3DH datasheet 1、描述 LIS3DH是一款超低功耗高性能三轴线性加速度计,属于...

不积跬步,无以至千里 2万+

生成透明带水印的图片

在合同中需要每一页都加上水印,我们生成一张透明带水印的图片,把这张透明带水印的图片放到报表中来实现, 本段代码只支持水印45度倾斜。 public class DrawWaterText { public DrawWaterText() { } private readonly int intAngle = -45; /// <summary> /// ///

莫吉的专栏 436

ICC2:mem出pin的Off Grid问题

这个命令本意是解决跨制成调用IP时在IP出pin位置加一定的routing blockage,限制绕线在一定范围内只能走直线出pin,用来解决off-grid问题也有很好的效果。在ICC2做先进工艺时会有off-grid的问题,off-grid可以理解为绕线没有在preferred方向track上。测试发现,2022版本以前的ICC2绕线容易有off-grid问题。主要在mem出pin的M2/M3层次上,切换版本绕线能很大程度上解决这个问题。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 1630

js生成带水印图片

function watermark(settings) { //默认设置 let defaultSettings = { watermark_txt: "text", watermark_x: 20,//水印起始位置x轴坐标 watermark_y: 20,//水印起始位置Y轴坐标 watermark_rows: 30,//水印行数 watermark_cols: 30.

风吹无痕,雨过无迹 736

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

JavaScript实现的复杂功能:自动生成带水印的图片

这个功能的核心是使用HTML5的Canvas API和JavaScript的图像处理能力。它首先加载一张图片,然后在图片上绘制一个水印。水印可以是任何你想要的文本或图像,并且可以调整大小、位置和颜色。此外,这个功能还包括了图片裁剪和水印透明度调整等高级功能。toDataURL。

geng1025的博客 1513

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

哪里有那种免费ai生成图片,图片处理,图片修复工具,还不带水印的工具吗?

实测十几款 AI 生图工具后,这款免费无水印的国产神器我藏不住了;做新媒体运营这两年,找 AI 生图工具踩的坑能绕办公桌三圈。

qq_19430453的博客 213

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

使用FileUpload控件上传图片并自动生成缩略图、自动生成带文字和图片的水印图

本文借助vs2005中自带的FileUpload控件实现图片文件的上传并生成缩略图。     实现过程:选择图片上传成功后,取得已经存在服务器的文件生成缩略图,并且判断是否是图片类型的文件,这个的判断可以在程序中修改,本程序只是判断了“image/bmp”、“image/gif”、“image/pjpeg”三种类型。     代码如下:     upfile.aspx文件 @ Pa

wyh0318的专栏 550

使用FileUpload控件上传图片并自动生成缩略图、自动生成带文字水印和图片的水印图

//本文借助vs2005中自带的FileUpload控件实现图片文件的上传并生成缩略图。//实现过程:选择图片上传成功后,取得已经存在服务器的文件生成缩略图,并且判断是否是图片类型的文件,这个的判断可以在程序中修改,本程序只是判断了“image/bmp”、“image/gif”、“image/pjpeg”三种类型。//代码如下://upfile.aspx文件准备工作:1.控件:FileUp

swallows2010的专栏 474

[Java]zxing生成qrcode二维码,带水印图片,中间带一个logo

在之前一篇文章,详细介绍了利用Zxing生成QRCode二维码以及BarCode条形码,并可以输出到文件或者输出到网页,很多时候,我们生成的二维码中间需要加一个logo图片,本次我们演示如何做: 一些依赖等基础准备工作,就不介绍了,如有需求,可以看:https://blog.terrynow.com/2021/02/06/java-google-zxing-generate-qrcode-or-barcode-output-to-file-or-web/ 以读取一张logo的图片文件,生成到文件为例,说

yaoxinghuo的专栏 1611

ASP.NET 使用FileUpload控件上传图片并自动生成缩略图、自动生成带文字水印和图片的水印图

  本文借助vs2005中自带的FileUpload控件实现图片文件的上传并生成缩略图。    实现过程:选择图片上传成功后,取得已经存在服务器的文件生成缩略图,并且判断是否是图片类型的文件,这个的判断可以在程序中修改,本程序只是判断了“image/bmp”、“image/gif”、“image/pjpeg”三种类型。    代码如下:    upfile.aspx文件@ Page Lan

生活要快乐 - 魏言 1642

java生成带文字的透明背景的水印工具类,对图片流进行操作

/** * @author cong * @date 2018年08月29日 10:50 * @desc 创建图片工具类 */ public class ImageUtil { /** * 创建新的图片 */ public static BufferedImage getImage(String waterMarkContent, String fileExt) throw...

CongBird的博客 3070

FileUpload控件上传图片并自动生成缩略图、自动生成带文字和图片的水印图的方法

   本文借助vs2005中自带的FileUpload控件实现图片文件的上传并生成缩略图。    实现过程:选择图片上传成功后,取得已经存在服务器的文件生成缩略图,并且判断是否是图片类型的文件,这个的判断可以在程序中修改,本程序只是判断了“image/bmp”、“image/gif”、“image/pjpeg”三种类型。    /**/    ///     /// 生成缩略图    //

yanick技术博客 1373

使用FileUpload控件上传图片并自动生成缩略图、带文字和图片的水印图

 使用FileUpload控件上传图片并自动生成缩略图、带文字和图片的水印图http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/1999/xhtml" >  无标题页                   using System;using System.Data;using Sy

golden的专栏 1594

thinkphp 添加图片 文字 水印生成带二维码的小程序推广海报

$image = new \Think\Image(); $bgm=’./Public/haibao.png’; //背景图 poster=&quot;./Public/poster/poster=&quot;./Public/poster/poster="./Public/poster/gid.jpg"; //商品水印图位置 img=explode(′/′,img=explode...

jsonq的博客 499

ASP.NET 自动生成缩略图、自动生成带文字水印和图片的水水印

本文借助vs2005中自带的FileUpload控件实现图片文件的上传并生成缩略图。 实现过程:选择图片上传成功后,取得已经存在服务器的文件生成缩略图,并且判断是否是图片类型的文件,这个的判断可以在程序中修改,本程序只是判断了“image/bmp”、“image/gif”、“image/pjpeg”三种类型。 代码如下:upfile.aspx文件 http

lsgy2008的专栏 193
上一篇: 一款带农历的日期选择器,功能很强大!
下一篇: MyEclipse8.6生成注册码
emjava
博客等级 码龄15年 4粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值