Hiển thị các bài đăng có nhãn Tin học. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Tin học. Hiển thị tất cả bài đăng

Thứ Năm, 17 tháng 6, 2010

Chuyển đổi ảnh từ Powerpoint sang EPS

Khi viết báo cáo khoa học, một phần không thể thiếu là việc sử lý các hình ảnh từ word, excel, hay các chương trình ứng dụng khác để dùng với LaTex. Chương trình Latex có thể đọc được nhiều định dạng ảnh, nhưng định dạng ảnh EPS có lẽ là đẹp và phù hợp nhất vì kích thước của EPS cực nhỏ mà chất lượng lại rất cao.

Có nhiều cách để chuyển ảnh về EPS. Nhưng có lẽ, cách tốt nhất là thông qua chương trình Powerpoint rồi dùng 1 chương trình phụ để chuyển file về định dạng EPS. Tuy nhiên, cần lưu ý là hệ điều hành cũng ít nhiều ảnh hưởng đến việc chuyển định dạng này.

Dưới đây là 2 phương pháp chuyển EPS mà mình cho là tốt nhất.

1. Đối với hệ điều hành WINDOW XP

Chương trình chuyển EPS tốt nhất cho hệ điều hành này là

WMF2EPS

Hướng dẫn có thể xem tại địa chỉ http://www.wmf2eps.de.vu/

Chi tiết hơn, có thể xem ở địa chỉ http://www.ise.chuo-u.ac.jp/ise-labs/kubota-lab/kniwa/tex03.html

Hướng dẫn bằng tiếng Nhựt, nhưng có hình ảnh nên rất dễ hiểu.

Cái lợi khi sử dụng WMF2EPS là nó có thể lưu được 2 loại định dạng, vừa EPS, vừa WMF dùng với MS word.

2. Đối với WINDOW Vista và WINDOW 7

Với 2 thằng củ chuối này, cách chuyển sang định dạng EPS là thông qua chương trình Powerpoint (PPP).

Các bước tiến hành như sau


  1. Cái vào máy tính bất cứ chương trình Printer nào có chức năng Postscript printer (Nên dùng của adobe, hay dùng cutePDF. Mấy cái này down miễn phí trên mạng. (Tự mò đê)
  2. Vẽ hình vào PPP hay copy hình ảnh từ đâu đó vào PPP. Tô điểm cho hình theo tùy thích. Chú ý là đặt tên riêng cho từng hình, và cũng chỉ nên dùng 1 PPP cho 1 hình mà thôi.
  3. Sau khi có được hình ngon nghẻ, sẽ vào mục Printer/ chọn Print to file (nhớ chọn chế độ in Màu)/ Tiếp theo mở hộp thoại Properties của nó/ Vào tiếp advance option/ và chọn PostScript Custom Page Size/ Chọn khổ giấy cần thiết (nên để default) / Sau đó chọn tiếp PostScript Output Option to EPS ở ngay bên dưới hộp thoại "PostScript Options"/ Chọn tiếp mục Level 1 ở "PostScript Language Level" /
  4. Tiến hành in ra file, nhớ chọn mục là All files (*.*)" và chọn "tên file.eps", chứ không là nó in ra với định dạng ".prn" lại mất công.
Đọc tiếng Anh thì vô đây coi http://people.csail.mit.edu/dalleyg/faqs/20010425.html

Một điều rất quan trọng là, khi in ra PDF hay PS, hình ảnh sẽ có khổ lớn, chiếm diện tích và không phù hợp với khổ in. Để tránh điều này, cơ bản là phải khai báo lại tọa độ của hình ảnh thực trong file EPS. Cách làm như sau

  • Mở file đó ra bằng GhostView, xem hình ảnh nằm ở đâu. Nếu hình ảnh chiếm diện tích quá thì vào phần Media của GV mà lựa chọn đến khi nhìn thấy chọn vẹn hình ảnh.
  • Dùng chuột xác định tọa độ phía dưới, bên trái của hình ảnh, ghi nó lại ra giấy (nếu hay quên). Tiếp tục dùng chuột xác định tọa độ phía trên bên phải của hình ảnh, lại ghi ra giấy cho cẩn thận. Đóng file đó vào.
Tọa độ gốc là %%BoundingBox: 0 0 720 720

Oánh lại như sau %%BoundingBox: 94 135 583 597 (Trong đó 94 135 pt là tọa độ bên góc trái phía dưới hình) và 583 597 là tọa độ góc bên phải, phía trên hình). Cái này phải thay đổi mỗi khi tạo ra file EPS mới.
  • Mở file đó bằng notepad hay Technixcenter, vào dòng số 6 có mục khai báo tọa độ. Oánh lại tọa độ vừa tra cứu vào, ghi lại file, đóng phải.
  • Compile bài báo, sẽ thấy hình ảnh đẹp mĩ mãn.
Tài liệu gốc hướng dẫn xem ở đây


Good luck!

Namazu









Chủ Nhật, 14 tháng 2, 2010

Tạo file ảnh EPS kích thước cực nhỏ

Những ai đã từng viết báo (paper journal) hay viết luận văn, và viết sách bằng Latex hẳn sẽ gặp một số khó khăn về chiện hình ảnh, đặc biệt là chiện làm thế nào để chuyển các file có đuôi khác nhau về file EPS. File EPS được cái cực kì nhé, mà hình ảnh thì thôi mịa nó rồi, đẹp vãi. Lấy dí dụ nhé, 1 file JPG cỡ khoảng 400 KB, nếu chiển về EPS có khi chỉ có vài chục KB thui nhưng mà hình ảnh thì ...đẹp vãi hàng.

Bài này Namazu pót lên để giúp pà con đỡ phải tìm tòi trên nét các công cụ chuyển hình ảnh về EPS. Chương trình WMF to EPS Graphics Converter Là một chương trình tuyệt vời để giải quyết vứn đề nan giải với file đuôi EPS.

Thứ Hai, 8 tháng 2, 2010

Tài liệu sử dụng WINDOW7

Bản WIN7 dùng khá hay, có nhiều theme đẹp vãi lúa. Mình là thằng thích Linux hơn WINDOW nhưng cũng phải quay trở lại dùng WINDOW cho sướng. Thích nhứt là cái Media Center của nó.

Sách học C++

Có một đồng chí Việt cộng say mê lập trình đã tự nguyện dịch 1 tài liệu từ tiếng anh về C++ cho pà con ta. Thay mặt chủ tịch nước VN, tớ pọt lại ra blốc này để pà con cò nguồn tham khảo khi học.
C++
Còn đây là mấy cái code mà mình vừa học vừa làm:

1./ Dùng phương pháp Newton-Raphson để giải phương trình bậc 2.
#include
#include
#include
/* Giai phuong trinh bac 2 bang phuong phap NewtonRaphson
y=a*x^2+b*x+c
*/


int main()
{
double x , x_new ; // estimates of the root
double epsilon ; // tolerances
double f , fprime ; // values of the function and of its derivative
int nmax ; // max number of iterations
int n; // running index

/* Khai bao cac hang so cua phuong trinh a, b, c
*/
double a , b, c;

cout << "Newton-Raphson Method to solve Quadric equation y=a*x^2+b*x+c \n";

cout <<" \n\n enter value of a = ";
cin >> a;
cout <<" \n\n enter value of b = ";
cin >> b;
cout <<" \n\n enter value of c = ";
cin >> c;


cout <<" \n\n enter your initial guess of the root = ";
cin >> x;

cout <<" \n\n enter the maximum number of iterations = ";
cin >> nmax;

cout <<" \n\n enter the root tolerance (epsilon value) = ";
cin >> epsilon;

//cout <<" \n\n enter the function value tolerance ... ";
// cin >> ftol;


// Prepare the heading of the table

// cout <<"\n\n x f(x) f'(x) x_new \n\n";
cout <<"\n\n x x_new \n\n";
cout<< setiosflags(ios:: scientific);
cout<< setprecision(10);

// START THE LOOP

for( n = 1; n <= nmax ; n++ )
{
f = a*pow(x,2.0) +b*x+c ;
fprime = 2 *a* x ;
x_new = x - f / fprime ;
cout<// cout< cout<
if( fabs((x_new - x )/x ) < epsilon ) break;

// if( fabs(f) < ftol ) break; Cai nay la khong can thiet

x = x_new ;
}
cout << endl;
cout <<" enter e (exit) to terminate the program....";
char hold;
cin>> hold;
system ("pause");
return 0;
}
Made by Nam Lethanh