我有一个我正在为iPhone开发的应用程序.它的作用是,它从摄像机捕获视频并将视频文件存储到文件系统中.
在将图像保存到文件系统之前,我需要创建此视频文件的缩略图图像.我的动机是显示所创建视频的缩略图列表,以便用户可以选择特定缩略图来播放所需文件.
有人可以建议我如何创建一个由相机捕获的视频文件的缩略图图像.
另外,您能告诉我是否可以使用iOS SDK创建现有视频文件的缩略图.
我有一个PHP照片共享应用程序,其中用户上传的图像使用ImageMagick调整为各种拇指格式.
作为一种节省文件大小的看似"智能"的方式,我正在从这些拇指中删除exif信息,如下所示:
$imagick = new Imagick($image);
$imagick->stripImage();
$imagick->writeImage($image);
Run Code Online (Sandbox Code Playgroud)
这有效.它确实删除了EXIF信息,其中30KB的大拇指节省12KB并变为18KB.在单个页面上显示许多此类拇指时显着节省.
但问题是它的效果有点太好了.与非剥离版本相比,生成的图像似乎丢失了大量的颜色信息并且看起来"平坦".
根据我迄今为止的研究,我的理论是以下一个或两个都是正确的:
无论问题的原因是什么,我都在寻找一种方法来删除EXIF信息,使其不会影响图像质量或颜色本身.
这甚至可能吗?
更新:
根据Gerald Schneider的回答,我尝试在"剥离"图像之前将质量设置强制为100%:
$imagick = new Imagick($image);
$imagick->setCompression(imagick::COMPRESSION_JPEG);
$imagick->setCompressionQuality(100);
$imagick->stripImage();
$imagick->writeImage($image);
Run Code Online (Sandbox Code Playgroud)
不幸的是,问题仍然存在.下面是示例输出,尽管将质量设置为100%,但图像仍然是平坦的.

像Firefox和Chrome这样的浏览器会拍摄被访问网站的屏幕截图,并可以在新标签上显示为"最近使用过的网站".
由于我的网站显示机密信息,我怎么能避免浏览器为"最近的网站"列表拍摄屏幕截图,或者至少将其限制在登录页面(如Facebook或银行网站正在做什么)?
我找到了一个可能的答案是否有W3C标准元标记来确定用于表示网站的封面图像?但它似乎仍然是一个不稳定的方法,我调查的银行网站显然没有使用它,所以我怀疑还有另一个(更好的?)解决方案.
任何的想法?我需要它至少为Firefox工作.
注意:网站正在使用HTTPS.在Chrome下,使用HTTPS似乎可以解决此问题,因为空白屏幕显示为预览.即使使用HTTPS,Firefox也会显示它.
更新: 在Mozzila的支持页面https://support.mozilla.org/en-US/kb/thumbnails-new-tab-page-missing-how-get-them-back上,他们声明如下:
注意:某些网站不允许生成和保存图像( - >缩略图)
不幸的是他们没有告诉他们怎么做......但是似乎有办法避免它......
更新2: 我真正想要的是该网站使用缓存的Javascript和图像,但不是缩略图.使用HTTPS可以解决它,除了因为Firefox的bug.
我想创建一个网页看起来像的图像,例如创建一个html +图像的小缩略图.它不一定是完美的(例如flash/javascript渲染).
我将调用linux上的代码,理想情况下会是一些java库,但命令行工具也会很酷.
有任何想法吗?
我想在网格中显示图像缩略图的集合.图像将有各种尺寸,但我想将缩略图限制为特定尺寸(让我们说200px宽和150px高).
我想要找到的是一些神奇的HTML标记和CSS规则
<img>元素中我不确定这是否可行.我可以使用以下标记对我想要的(坏)近似:
<div class="thumb">
<img src="360x450.jpeg">
</div>
Run Code Online (Sandbox Code Playgroud)
和CSS:
.thumb {
width: 200px;
height: 150px;
overflow: hidden;
}
.thumb img {
min-width: 200px;
min-height: 150px;
width: 200px;
}
Run Code Online (Sandbox Code Playgroud)
这种尝试以各种方式打破:
纵向方向的图像尺寸正确,但会从容器底部溢出,导致垂直偏心裁剪.
由于硬编码width和min-height规则,宽和短的图像在水平维度上会失真.
但如果没有硬编码width,大于最小高度和宽度的图像将根本不会调整大小.
如果它有用,我会举一个例子来(希望)说明我想要做的事情,在这里:
我知道我可以通过<img>完全省略元素来解决这个问题,而是将缩略图拉成包含元素的居中背景图像,但是,如果可能的话,我想将<img>元素保留在页面中.
感谢您提供的任何帮助或指示!
编辑:我想我应该注意到理想的解决方案适用于IE 6+和现代浏览器,但任何适用于IE 9+和其他现代浏览器(最近的WebKit,Gecko等)的解决方案都将很乐意接受.
说我在路径上有一个图像存储"/mnt/images/abc.jpg".如何为此图像获取系统生成的缩略图位图.我知道如何从其Uri获取图像的缩略图,但不知道如何从其文件路径获取图像的缩略图
我正在从库中选择视频剪辑.我想创建它的缩略图.我已应用此代码.但图像出现了旋转.我想要它的原始视图.
- (UIImage*)testGenerateThumbNailDataWithVideo {
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:appDelegate.videoURL options:nil];
AVAssetImageGenerator *generate = [[AVAssetImageGenerator alloc] initWithAsset:asset];
NSError *err = NULL;
CMTime time = CMTimeMake(1, 60);
CGImageRef imgRef = [generate copyCGImageAtTime:time actualTime:NULL error:&err];
[generate release];
NSLog(@"err==%@, imageRef==%@", err, imgRef);
UIImage *currentImg = [[[UIImage alloc] initWithCGImage:imgRef] autorelease];
static BOOL flag = YES;
if (flag) {
NSData *tmpData = UIImageJPEGRepresentation(currentImg, 0.8);
NSString *path = [NSString stringWithFormat:@"%@thumbNail.png", NSTemporaryDirectory()];
BOOL ret = [tmpData writeToFile:path atomically:YES];
NSLog(@"write to path=%@, flag=%d", path, ret);
flag = NO; …Run Code Online (Sandbox Code Playgroud) 从任何文件中提取缩略图的最有效方法是什么,而不仅仅是不同大小的图像?
我看了很多,最有希望的是Windows API ShellFile,但这似乎没有正确安装.我正在使用Windows 7.
有没有一种简单而动态的方法来创建缩略图并在MVC3/Razor中调整图像大小?帮手,图书馆,什么?
如果我能以某种方式管理来自控制器的图像大小,那将是很好的.甚至在razorview.示例:在索引视图中,我希望图像具有特定大小,但在详细信息视图中,我希望它们是完整大小.
我知道这个问题很模糊,但除了旧的mvc1之外,我真的无法在google/stackoverflow上找到任何东西.
你们通常如何对待这个?