Skip to content
Snippets Groups Projects
Commit 37edacce authored by syuilo's avatar syuilo
Browse files

Use ImageMagick instead of GraphicsMagick

parent c420901c
No related branches found
No related tags found
No related merge requests found
......@@ -53,7 +53,7 @@ Please install and setup these softwares:
* *Node.js* and *npm*
* **[MongoDB](https://www.mongodb.com/)**
* **[Redis](https://redis.io/)**
* **[GraphicsMagick](http://www.graphicsmagick.org/)**
* **[ImageMagick](http://www.imagemagick.org/script/index.php)**
##### Optional
* [Elasticsearch](https://www.elastic.co/) - used to provide searching feature instead of MongoDB
......
......@@ -54,7 +54,7 @@ web-push generate-vapid-keys
* *Node.js**npm*
* **[MongoDB](https://www.mongodb.com/)**
* **[Redis](https://redis.io/)**
* **[GraphicsMagick](http://www.graphicsmagick.org/)**
* **[ImageMagick](http://www.imagemagick.org/script/index.php)**
##### オプション
* [Elasticsearch](https://www.elastic.co/) - 検索機能を向上させるために用います。
......
......@@ -5,7 +5,7 @@ import * as stream from 'stream';
import * as mongodb from 'mongodb';
import * as crypto from 'crypto';
import * as gm from 'gm';
import * as _gm from 'gm';
import * as debug from 'debug';
import fileType = require('file-type');
import prominence = require('prominence');
......@@ -16,6 +16,10 @@ import serialize from '../serializers/drive-file';
import event, { publishDriveStream } from '../event';
import config from '../../conf';
const gm = _gm.subClass({
imageMagick: true
});
const log = debug('misskey:register-drive-file');
const tmpFile = (): Promise<string> => new Promise((resolve, reject) => {
......
......@@ -7,11 +7,15 @@ import * as express from 'express';
import * as bodyParser from 'body-parser';
import * as cors from 'cors';
import * as mongodb from 'mongodb';
import * as gm from 'gm';
import * as _gm from 'gm';
import * as stream from 'stream';
import DriveFile, { getGridFSBucket } from '../api/models/drive-file';
const gm = _gm.subClass({
imageMagick: true
});
/**
* Init app
*/
......@@ -78,6 +82,7 @@ function thumbnail(data: stream.Readable, type: string, resize: number): ISend {
const stream = g
.compress('jpeg')
.quality(80)
.noProfile() // Remove EXIF
.stream();
return {
......
......@@ -11,7 +11,7 @@ export default class {
public showAll(): void {
this.show('MongoDB', 'mongo --version', x => x.match(/^MongoDB shell version:? (.*)\r?\n/));
this.show('Redis', 'redis-server --version', x => x.match(/v=([0-9\.]*)/));
this.show('GraphicsMagick', 'gm -version', x => x.match(/^GraphicsMagick ([0-9\.]*) .*/));
this.show('ImageMagick', 'magick -version', x => x.match(/^Version: ImageMagick (.+?)\r?\n/));
}
public show(serviceName: string, command: string, transform: (x: string) => RegExpMatchArray): void {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment