标签: image-resizing

使用ImageMagick批量调整图像大小并将图像输出到新文件夹

当前图像文件夹路径:

public_html/images/thumbs
Run Code Online (Sandbox Code Playgroud)

输出图像文件夹路径:

public_html/images/new-thumbs
Run Code Online (Sandbox Code Playgroud)

我在当前文件夹中每个视频有10个视频大拇指,以图像大拇指命名:

1-1.jpg
1-2.jpg
1-3.jpg
1-4.jpg
1-5.jpg (Resize)
1-6.jpg
1-7.jpg
1-8.jpg
1-9.jpg
1-10.jpg

2-1.jpg
2-2.jpg
2-3.jpg
2-4.jpg
2-5.jpg (Resize)
2-6.jpg
2-7.jpg
2-8.jpg
2-9.jpg
2-10.jpg
Run Code Online (Sandbox Code Playgroud)

我想将所有第5张图像(* - 5.jpg)调整为新文件夹.我试过下面的命令,但没有运气:

mogrify 
-path 
  public_html/images/thumbs/*-5.jpg 
-resize 16×12 
-quality 100 
  public_html/images/new-thumbs/*-5.jpg
Run Code Online (Sandbox Code Playgroud)

image imagemagick resize-image image-resizing mogrify

50
推荐指数
3
解决办法
5万
查看次数

动力学js拖动,放下,调整大小和旋转图像

我试图结合拖放调整大小图像触摸旋转图像,我的表现很奇怪http://jsfiddle.net/littlechad/Kuaxn/

我的代码如下:

function update (activeAnchor) {
    var group       = activeAnchor.getParent();
    var topLeft     = group.get('.topLeft')[0];
    var topRight    = group.get('.topRight')[0];
    var bottomRight = group.get('.bottomRight')[0];
    var bottomLeft  = group.get('.bottomLeft')[0];
    var image       = group.get('.image')[0];
    var stage       = group.getStage();

    var anchorX     = activeAnchor.getX();
    var anchorY     = activeAnchor.getY();

    // update anchor positions
    switch (activeAnchor.getName()) {
        case 'topLeft':
            topRight.setY(anchorY);
            bottomLeft.setX(anchorX);
            break;
        case 'topRight':
            topLeft.setY(anchorY);
            bottomRight.setX(anchorX);
            break;
        case 'bottomRight':
            bottomLeft.setY(anchorY);
            topRight.setX(anchorX); 
            break;
        case 'bottomLeft':
            bottomRight.setY(anchorY);
            topLeft.setX(anchorX); 
            break;
    }

    image.setPosition(topLeft.getPosition());

    var height          = bottomLeft.attrs.y …
Run Code Online (Sandbox Code Playgroud)

html5 image-rotation image-resizing kineticjs

41
推荐指数
1
解决办法
4742
查看次数

如何在调整图像大小时阻止GD2清除颜色?

我使用CodeIgniter 1.7开发了一个照片共享社区网站.成员上传的照片会自动调整为多种格式,我使用CodeIgniter Image Manipulation类.该类内置于框架中,基本上是多个图像处理库的包装器,如GD,GD2,ImageMagick和NETPBM.在我的主机上,我只能使用GD2,所以这就是这个问题的所在.

关于我的问题.以下是我网站上已调整大小的照片示例.请注意,原件非常大,宽度超过3000像素:

http://www.jungledragon.com/image/195/female_impala_close-up.html

现在,看看同样的图像,也调整大小,在Flickr上稍大一些:

http://www.flickr.com/photos/fledder/3763538865/in/set-72157621744113979

看到戏剧性的差异?我正试图弥合这个巨大的差距.我做的第一件事是对图像应用锐化滤镜.你可以在这里看到结果:

在此输入图像描述

虽然仍然不完美,但它至少接近Flickr图像的清晰度水平.剩下的问题是颜色被冲走,好像它们的饱和度降低了.这种情况发生在锐化滤镜之前,因此它必须在GD2中.

这个问题对我来说至关重要,但我不知道在哪里看.我发现一些.NET线程正在谈论色度子采样,但我不知道在我的设置中如何处理这些信息.我正在寻找在我的设置约束下工作的任何解决方案.

更新:这里是原始文件,就像我将它上传到我的网站和Flickr一样:

http://www.jungledragon.com/img/DSC07275.jpg

更新2:我很震惊.好的方式.安装ImageMagick但是在切换到它之后花了很多痛苦(这是将'imagemagick'设置为Code Igniter图像处理类使用的库的问题,测试图像的结果如下:

在此输入图像描述

ImageMagick的调整大小正是按预期完成的.颜色被保留,清晰度就在那里.是的,我禁用了自定义锐化程序,因为ImageMagick不再需要它.最重要的是,这个过程更快,内存也更少.这里有另一个很大的部分:我无法解释它,但我绝对没有告诉ImageMagick使用特定的颜色配置文件,这是由用户@Alix建议的.到目前为止,在我的测试中,无论是否有嵌入的配置文件,都可以看到颜色信息.输出只是输入的较小版本.ImageMagick真的那么聪明还是我在做梦?

php codeigniter gd2 image-resizing

34
推荐指数
3
解决办法
1万
查看次数

在Gitlab上改变Markdown中的图像大小

我正在尝试使用markdown将图片发布到我的Gitlab上的文件中

    ![](test/media/screenshot.png)
Run Code Online (Sandbox Code Playgroud)

似乎工作,但是太大了.我尝试过但似乎不起作用的其他解决方案如下:

    <img src="https://gitlab.com/example/screenshot" width="48">
    ![](test/media/screenshot.png =100x20)
    ![](test/media/screenshot.png =250x)
    <img src="https://gitlab.com/example/screenshot" alt="Drawing" style="width: 200px;"/>
Run Code Online (Sandbox Code Playgroud)

关于我能做什么的任何想法,而不是重新调整我拥有的每一张图像?

image-resizing gitlab

30
推荐指数
3
解决办法
2万
查看次数

如何在OpenCV中将图像大小调整为特定大小?

IplImage* img = cvLoadImage("something.jpg");
IplImage* src = cvLoadImage("src.jpg");
cvSub(src, img, img);
Run Code Online (Sandbox Code Playgroud)

但源图像的大小不同img.

是否有任何opencv函数来调整img大小?

c++ opencv image-resizing

29
推荐指数
4
解决办法
15万
查看次数

转换SVG并将其调整为PNG

我正在尝试将SVG转换为PNG(或任何栅格格式)并同时调整大小.

我以为我会使用ImageMagick执行此任务,但它似乎在调整大小之前转换为栅格.

这导致图像质量差.

  • 有没有办法让ImageMagick在转换为栅格之前调整SVG的大小?

  • 或者是否有一些其他工具可用于在调整大小后以程序方式将SVG转换为栅格?

  • 或者,我可以使用其他工具吗?

目前我通过命令行使用ImageMagick:

convert file.svg -resize 100x100 file.png
Run Code Online (Sandbox Code Playgroud)

源图像"大小"未知,目标大小直到运行时才知道.

svg png imagemagick image-resizing

29
推荐指数
5
解决办法
2万
查看次数

有没有办法将图像作为位图加载到Glide

我正在寻找一种方法来使用位图作为Glide的输入.我甚至不确定它是否可能.这是为了调整大小的目的.Glide具有良好的图像增强功能.问题是我有资源作为位图已经加载到内存.我能找到的唯一解决方案是将图像存储到临时文件中,并将它们作为inputStream/file重新加载回Glide ..有没有更好的方法来实现?

请在回答之前..我不是在谈论Glide的输出.. .asBitmap().get()我知道.我需要帮助输入.

这是我的解决方案:

 Bitmap bitmapNew=null;
        try {
            //
            ContextWrapper cw = new ContextWrapper(ctx);
            File directory = cw.getDir("imageDir", Context.MODE_PRIVATE);
            File file=new File(directory,"temp.jpg");
            FileOutputStream fos = new FileOutputStream(file);
            bitmap.compress(Bitmap.CompressFormat.PNG, 90, fos);
            fos.close();
            //
            bitmapNew = Glide
                    .with(ctx)
                    .load(file)
                    .asBitmap()
                    .diskCacheStrategy(DiskCacheStrategy.NONE)
                    .skipMemoryCache(true)
                    .into( mActualWidth, mActualHeight - heightText)
                    .get();

            file.delete();
        } catch (Exception e) {
            Logcat.e( "File not found: " + e.getMessage());
        }
Run Code Online (Sandbox Code Playgroud)

我想避免将图像写入内部并再次加载它们.这就是为什么我要问是否有办法将输入作为位图

谢谢

android image-resizing image-scaling android-glide

28
推荐指数
7
解决办法
5万
查看次数

如何从NSImage保存PNG文件(视网膜问题)

我正在对图像进行一些操作,在完成之后,我想将图像保存为磁盘上的PNG.我正在做以下事情:

+ (void)saveImage:(NSImage *)image atPath:(NSString *)path {

    [image lockFocus] ;
    NSBitmapImageRep *imageRepresentation = [[NSBitmapImageRep alloc] initWithFocusedViewRect:NSMakeRect(0.0, 0.0, image.size.width, image.size.height)] ;
    [image unlockFocus] ;

    NSData *data = [imageRepresentation representationUsingType:NSPNGFileType properties:nil];
    [data writeToFile:path atomically:YES];
}
Run Code Online (Sandbox Code Playgroud)

这段代码工作正常,但问题出在视网膜mac上,如果我打印NSBitmapImageRep对象,我得到一个不同的大小和像素rect,当我的图像保存在磁盘上时,它的大小是两倍:

$0 = 0x0000000100413890 NSBitmapImageRep 0x100413890 Size={300, 300} ColorSpace=sRGB IEC61966-2.1 colorspace BPS=8 BPP=32 Pixels=600x600 Alpha=YES Planar=NO Format=0 CurrentBacking=<CGImageRef: 0x100414830>
Run Code Online (Sandbox Code Playgroud)

因为我想要保留原始大小,我强制像素大小不要关心视网膜比例:

imageRepresentation.pixelsWide = image.size.width;
imageRepresentation.pixelsHigh = image.size.height;
Run Code Online (Sandbox Code Playgroud)

这次我在打印NSBitmapImageRep对象时得到了正确的大小,但是当我保存文件时,我仍然遇到同样的问题:

$0 = 0x0000000100413890 NSBitmapImageRep 0x100413890 Size={300, 300} ColorSpace=sRGB IEC61966-2.1 colorspace BPS=8 BPP=32 Pixels=300x300 Alpha=YES Planar=NO Format=0 CurrentBacking=<CGImageRef: 0x100414830>
Run Code Online (Sandbox Code Playgroud)

知道如何解决这个问题,并保留原始像素大小?

macos nsimage image-resizing nsbitmapimagerep retina-display

26
推荐指数
4
解决办法
2万
查看次数

PHP图像动态调整大小与存储调整大小的图像

我正在建立一个图像共享网站,并希望了解使用PHP动态调整图像大小并保存已调整大小的图像的优缺点.

哪个更快?

哪个更可靠?

这两种方法在速度和性能上的差距有多大?

请注意,无论哪种方式,图像经过一个PHP脚本像意见统计或者盗链是让等..所以不喜欢它会直接链接,图片,如果我选择存储调整图像.

我将非常感谢您对此主题的评论或任何有用的链接.

php performance thumbnails image-resizing

24
推荐指数
4
解决办法
2万
查看次数

通过动态调整大小服务图像

我的公司最近开始遇到我们网站的图像处理问题.

我们有几个网站(成人娱乐),显示像DVD封面,快照和类似的图像.我们有大约100,000部电影,每部电影我们平均有30部快照+封面.几乎每个图像都有一个附加版本,模糊和覆盖非成员,这导致每部电影约50个图像或总共500万个基本图像.每个图像都有多个版本,具体取决于它放置在页面上的位置(缩略图,原始,小预览,不太小的预览,顶部列表中的小图像等),这会产生比图像更多的图像.我很想数数.

现在我有了使用服务器即时生成图像的想法,因为为所有不同的页面生成所有不同的图像变得非常笨拙(因为不同的页面有时甚至需要不同的图像大小来完成相同的任务) .

有没有人知道一个图像处理服务器可以动态缩小图像所以我们只需要提供原始图像,网络人员只需要他们需要的任何大小?

要求:

  • 性能非常高(每天数千名用户)
  • 即时模糊和叠加创建
  • 即时调整大小(有和没有保持纵横比)
  • 可以处理数百万张图片
  • 必须能够读取JPG,GIF,PNG和BMP并在它们之间进行转换

安全性并不是一个令人担忧的问题,即通过URL操作已经可以达到不模糊的图像,并且更安全性会很好但是不需要它,坦率地说我停止了关注(在未能进入我的同事头之后为什么(对于我们的小经销商)使用http://example.com/view_image.php?filename=/data/images/01020304.jpg来显示图像是一个坏主意.)

我们尝试使用PHP脚本来执行此操作,但对于这么多用户来说,性能太慢了.

提前感谢您提出的任何建议.

performance webserver image image-resizing

23
推荐指数
2
解决办法
2万
查看次数