procedure CutAFile(FileName: string; qry: TQuery);
var
  i: Cardinal;
  FromStream, ToStream: TMemoryStream;
  SubFileName, Path, fName, MainName, ExtName: string;
  NewFileName, Sub_PicName, TemplateName: string;
  r: TRect;
begin
  if Not FileExists(FileName) then Exit;

ExtName := ExtractFileExt(FileName);
  fName := ExtractFileName(FileName);                               //提取文件名
  MainName := copy(fName, 1, length(fName) - Length(ExtName));
  TemplateName  := RightStr(MainName, 6);
  Path := ExtractFilepath(FileName) + TemplateName + '\';
  FromStream := TMemoryStream.Create;
  FromStream.LoadFromFile(FileName);
  ToStream := TMemoryStream.Create;

i := 0; // 图像块号
  qry.First;

while not qry.Eof do begin
    i := i + 1;
    NewFileName := MainName + Format('_%0.2d', [i]);
    Sub_PicName := NewFileName + ExtName;
    SubFileName := Path + format('%0.2d\', [i]) + Sub_PicName;

with qry do begin
      r.Left   := FieldByName('selX1').AsInteger;
      r.Top    := FieldByName('selY1').AsInteger;
      r.Right  := FieldByName('selX2').AsInteger;
      r.Bottom := FieldByName('selY2').AsInteger;
      FromStream.Position := 0;
      ToStream.Position := 0;
      // JpegLosslessTransform(FileName,SubFileName,jtCut,False,jcCopyAll,r);
      JpegLosslessTransformStream(FromStream,ToStream,jtCut,False,jcCopyAll,r);
      ToStream.Position := 0;
      ToStream.SaveToFile(SubFileName);
      Next;
    end;
  end;

FromStream.Free;
  ToStream.Free;
end;

Imageen 图像切割 (JpegLosslessTrans)的更多相关文章

  1. JCrop+ajaxUpload 图像切割上传

    先看效果 需要的文件下载 链接:http://pan.baidu.com/s/1b8SI6M 密码:59ct 页面代码 里面用户的uuid是写死的test <%@ page language=& ...

  2. 图像切割之(五)活动轮廓模型之Snake模型简单介绍

    图像切割之(五)活动轮廓模型之Snake模型简单介绍 zouxy09@qq.com http://blog.csdn.net/zouxy09 在"图像切割之(一)概述"中咱们简单了 ...

  3. opencv中的meanshift图像切割

    Meanshift(均值漂移)是一种在一组数据的密度分布中寻找局部极值的稳定的方法.Meanshift不仅能够用于图像滤波,视频跟踪,还能够用于图像切割. 通过给出一组多维数据点,其维数是(x,y,r ...

  4. 【Java】K-means算法Java实现以及图像切割

    1.K-means算法简述以及代码原型 数据挖掘中一个重要算法是K-means.我这里就不做具体介绍.假设感兴趣的话能够移步陈皓的博客: http://www.csdn.net/article/201 ...

  5. Matlab实现图像切割

    以下使用极小值点阈值选取方法,编写MATLAB程序实现图像切割的功能. 极小值点阈值选取法即从原图像的直方图的包络线中选取出极小值点, 并以极小值点为阈值将图像转为二值图像 clear all; cl ...

  6. CRF图像切割简单介绍

    这里主要是讲Conditional Random Fields(CRF)用于pixel-wise的图像标记(事实上就是图像切割).CRF经经常使用于 pixel-wise的label 预測.当把像素的 ...

  7. 图像切割—基于图的图像切割(Graph-Based Image Segmentation)

     图像切割-基于图的图像切割(Graph-Based Image Segmentation) Reference: Efficient Graph-Based Image Segmentation ...

  8. 新手学,java使用分水岭算法进行图像切割(一)

    近期被图像切割整的天昏地暗的,在此感谢老朋友周洋给我关于分水岭算法的指点!本来打算等彩色图像切割有个完满的结果再写这篇文章,可是考虑到到了这一步也算是一个阶段,所以打算对图像切割做一个系列的博文,于是 ...

  9. OpenCV——使用ROI进行图像切割

    ROI(region of interest)——感兴趣区域. 1.用途 这个区域是图像分析所关注的重点.圈定这个区域,以便进行进一步的处理.而且,使用ROI指定 想读入的目标,可以减少处理时间,增加 ...

随机推荐

  1. tomcat下安装jenkins

    参考网址:http://www.cnblogs.com/edward2013/p/5269465.html 5.安装Jenkins 方法1: jenkins.war下载地址:   http://mir ...

  2. hadoop项目开发案例方案汇总

    大数据Hadoop应用开发技术正可谓如火如荼推进中,以为大数据已经不仅仅是局限在互联网领域,而是已经被上升到了国家战略的高度层面.大数据正在深刻影响和改变我们的日常生活和工作方式. Hadoop应用开 ...

  3. HighCharts定时刷新图表

    假设图表容器的id为exChart,如下: <div style="height:450px;" id="chart">   1. 首先在serie ...

  4. 电路交换vs分组交换

    电路交换 交换:动态分配传输线路资源. 须经过:建立连接 -> 通话 -> 释放连接. 特点:传输效率低(大部分时间空闲). 分组交换 位于网络边缘的主机&位于网络核心的路由器都是 ...

  5. python中hashlib md5

    如下两种方法,结果相同 import hashlib import time m = hashlib.md5() m.update(str(time.time()).encode('utf-8')) ...

  6. bzoj 4449: [Neerc2015]Distance on Triangulation

    Description 给定一个凸n边形,以及它的三角剖分.再给定q个询问,每个询问是一对凸多边行上的顶点(a,b),问点a最少经过多少条边(可以是多边形上的边,也可以是剖分上的边)可以到达点b. I ...

  7. Tensorflow笔记——神经网络图像识别(五)手写数字识别

  8. HDU 2066 一个人的旅行 (Dijkstra算法)

    一个人的旅行 Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submis ...

  9. 终端直接执行py文件,不需要python命令

    然后给脚本文件运行权限,方法(1)chmod +x ./*.py方法(2)chmod 755 ./*.py (777也无所谓啦) 这个命令不去调整,会出现permission denied的错误终端直 ...

  10. linux&android PPP 相关知识

    Linux&Android PPP相关FAQ   目录 Linux&Android PPP相关FAQ.. 1 一.         文档说明... 3 二.         常见调试技 ...