您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ Graphics_setInner函数代码示例

51自学网 2021-06-01 21:19:39
  C++
这篇教程C++ Graphics_setInner函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中Graphics_setInner函数的典型用法代码示例。如果您正苦于以下问题:C++ Graphics_setInner函数的具体用法?C++ Graphics_setInner怎么用?C++ Graphics_setInner使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了Graphics_setInner函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: Formant_drawTracks

void Formant_drawTracks (Formant me, Graphics g, double tmin, double tmax, double fmax, int garnish) {	long itmin, itmax, ntrack = Formant_getMinNumFormants (me);	if (tmax <= tmin) { tmin = my xmin; tmax = my xmax; }	if (! Sampled_getWindowSamples (me, tmin, tmax, & itmin, & itmax)) return;	Graphics_setInner (g);	Graphics_setWindow (g, tmin, tmax, 0.0, fmax);	for (long itrack = 1; itrack <= ntrack; itrack ++) {		for (long iframe = itmin; iframe < itmax; iframe ++) {			Formant_Frame curFrame = & my d_frames [iframe], nextFrame = & my d_frames [iframe + 1];			double x1 = Sampled_indexToX (me, iframe), x2 = Sampled_indexToX (me, iframe + 1);			double f1 = curFrame -> formant [itrack]. frequency;			double f2 = nextFrame -> formant [itrack]. frequency;			if (NUMdefined (x1) && NUMdefined (f1) && NUMdefined (x2) && NUMdefined (f2))				Graphics_line (g, x1, f1, x2, f2);		}	}	Graphics_unsetInner (g);	if (garnish) {		Graphics_drawInnerBox (g);		Graphics_textBottom (g, 1, U"Time (s)");		Graphics_textLeft (g, 1, U"Formant frequency (Hz)");		Graphics_marksBottom (g, 2, 1, 1, 0);		Graphics_marksLeftEvery (g, 1.0, 1000.0, 1, 1, 1);	}}
开发者ID:psibre,项目名称:praat,代码行数:25,


示例2: TableOfReal_drawAsNumbers

void TableOfReal_drawAsNumbers (TableOfReal me, Graphics graphics, long rowmin, long rowmax, int iformat, int precision) {	fixRows (me, & rowmin, & rowmax);	Graphics_setInner (graphics);	Graphics_setWindow (graphics, 0.5, my numberOfColumns + 0.5, 0, 1);	double leftMargin = getLeftMargin (graphics);   // not earlier!	double lineSpacing = getLineSpacing (graphics);   // not earlier!	double maxTextWidth = getMaxRowLabelWidth (me, graphics, rowmin, rowmax);	double maxTextHeight = getMaxColumnLabelHeight (me, graphics, 1, my numberOfColumns);	Graphics_setTextAlignment (graphics, Graphics_CENTRE, Graphics_BOTTOM);	for (long icol = 1; icol <= my numberOfColumns; icol ++) {		if (my columnLabels && my columnLabels [icol] && my columnLabels [icol] [0])			Graphics_text (graphics, icol, 1, my columnLabels [icol]);	}	for (long irow = rowmin; irow <= rowmax; irow ++) {		double y = 1 - lineSpacing * (irow - rowmin + 0.6);		Graphics_setTextAlignment (graphics, Graphics_RIGHT, Graphics_HALF);		if (my rowLabels && my rowLabels [irow] && my rowLabels [irow] [0])			Graphics_text (graphics, 0.5 - leftMargin, y, my rowLabels [irow]);		Graphics_setTextAlignment (graphics, Graphics_CENTRE, Graphics_HALF);		for (long icol = 1; icol <= my numberOfColumns; icol ++) {			wchar_t text [40];			print4 (text, my data [irow] [icol], iformat, 0, precision);			Graphics_text (graphics, icol, y, text);		}	}	if (maxTextHeight) {		double left = 0.5;		if (maxTextWidth > 0.0) left -= maxTextWidth + 2 * leftMargin;		Graphics_line (graphics, left, 1, my numberOfColumns + 0.5, 1);	}	Graphics_unsetInner (graphics);}
开发者ID:arizona-phonological-imaging-lab,项目名称:ultrapraat,代码行数:33,


示例3: cellArrayOrImage

static void cellArrayOrImage (Matrix me, Graphics g, double xmin, double xmax, double ymin, double ymax,	double minimum, double maximum, bool interpolate){	if (xmax <= xmin) { xmin = my xmin; xmax = my xmax; }	if (ymax <= ymin) { ymin = my ymin; ymax = my ymax; }	long ixmin, ixmax, iymin, iymax;	(void) Matrix_getWindowSamplesX (me, xmin - 0.49999 * my dx, xmax + 0.49999 * my dx,		& ixmin, & ixmax);	(void) Matrix_getWindowSamplesY (me, ymin - 0.49999 * my dy, ymax + 0.49999 * my dy,		& iymin, & iymax);	if (maximum <= minimum)		(void) Matrix_getWindowExtrema (me, ixmin, ixmax, iymin, iymax, & minimum, & maximum);	if (maximum <= minimum) { minimum -= 1.0; maximum += 1.0; }	if (xmin >= xmax || ymin >= ymax) return;	Graphics_setInner (g);	Graphics_setWindow (g, xmin, xmax, ymin, ymax);	if (interpolate)		Graphics_image (g, my z,			ixmin, ixmax, Sampled_indexToX   (me, ixmin - 0.5), Sampled_indexToX   (me, ixmax + 0.5),			iymin, iymax, SampledXY_indexToY (me, iymin - 0.5), SampledXY_indexToY (me, iymax + 0.5),			minimum, maximum);	else		Graphics_cellArray (g, my z,			ixmin, ixmax, Sampled_indexToX   (me, ixmin - 0.5), Sampled_indexToX   (me, ixmax + 0.5),			iymin, iymax, SampledXY_indexToY (me, iymin - 0.5), SampledXY_indexToY (me, iymax + 0.5),			minimum, maximum);	Graphics_rectangle (g, xmin, xmax, ymin, ymax);	Graphics_unsetInner (g);}
开发者ID:DsRQuicke,项目名称:praat,代码行数:29,


示例4: Formant_scatterPlot

void Formant_scatterPlot (Formant me, Graphics g, double tmin, double tmax,	int iformant1, double fmin1, double fmax1, int iformant2, double fmin2, double fmax2,	double size_mm, const char32 *mark, int garnish){	if (iformant1 < 1 || iformant2 < 1) return;	if (tmax <= tmin) { tmin = my xmin; tmax = my xmax; }	long itmin, itmax;	if (! Sampled_getWindowSamples (me, tmin, tmax, & itmin, & itmax)) return;	if (fmax1 == fmin1)		Formant_getExtrema (me, iformant1, tmin, tmax, & fmin1, & fmax1);	if (fmax1 == fmin1) return;	if (fmax2 == fmin2)		Formant_getExtrema (me, iformant2, tmin, tmax, & fmin2, & fmax2);	if (fmax2 == fmin2) return;	Graphics_setInner (g);	Graphics_setWindow (g, fmin1, fmax1, fmin2, fmax2);	for (long iframe = itmin; iframe <= itmax; iframe ++) {		Formant_Frame frame = & my d_frames [iframe];		if (iformant1 > frame -> nFormants || iformant2 > frame -> nFormants) continue;		double x = frame -> formant [iformant1]. frequency;		double y = frame -> formant [iformant2]. frequency;		if (x == 0.0 || y == 0.0) continue;		Graphics_mark (g, x, y, size_mm, mark);	}	Graphics_unsetInner (g);	if (garnish) {		Graphics_drawInnerBox (g);		Graphics_textBottom (g, 1, Melder_cat (U"%%F_", iformant1, U" (Hz)"));		Graphics_textLeft (g, 1, Melder_cat (U"%%F_", iformant2, U" (Hz)"));		Graphics_marksBottom (g, 2, 1, 1, 0);		Graphics_marksLeft (g, 2, 1, 1, 0);	}}
开发者ID:psibre,项目名称:praat,代码行数:33,


示例5: Minimizer_drawHistory

void Minimizer_drawHistory (Minimizer me, Graphics g, long iFrom, long iTo, double hmin, double hmax, int garnish) {	if (! my history) {		return;	}	if (iTo <= iFrom) {		iFrom = 1; iTo = my iteration;	}	long itmin = iFrom, itmax = iTo;	if (itmin < 1) {		itmin = 1;	}	if (itmax > my iteration) {		itmax = my iteration;	}	if (hmax <= hmin) {		NUMvector_extrema (my history, itmin, itmax, & hmin, & hmax);	}	if (hmax <= hmin) {		hmin -= 0.5 * fabs (hmin);		hmax += 0.5 * fabs (hmax);	}	Graphics_setInner (g);	Graphics_setWindow (g, iFrom, iTo, hmin, hmax);	Graphics_function (g, my history, itmin, itmax, itmin, itmax);	Graphics_unsetInner (g);	if (garnish) {		Graphics_drawInnerBox (g);		Graphics_textBottom (g, true, U"Number of iterations");		Graphics_marksBottom (g, 2, true, true, false);		Graphics_marksLeft (g, 2, true, true, false);	}}
开发者ID:jjatria,项目名称:praat,代码行数:32,


示例6: Matrix_drawSliceY

void Matrix_drawSliceY (Matrix me, Graphics g, double x, double ymin, double ymax, double min, double max) {	if (x < my xmin || x > my xmax) {		return;	}	long ix = Matrix_xToNearestColumn (me, x);	if (ymax <= ymin) {		ymin = my ymin;		ymax = my ymax;	}	long iymin, iymax;	long ny = Matrix_getWindowSamplesY (me, ymin, ymax, &iymin, &iymax);	if (ny < 1) {		return;	}	if (max <= min) {		Matrix_getWindowExtrema (me, ix, ix, iymin, iymax, &min, &max);	}	if (max <= min) {		min -= 0.5; max += 0.5;	}	autoNUMvector<double> y (iymin, iymax);	Graphics_setWindow (g, ymin, ymax, min, max);	Graphics_setInner (g);	for (long i = iymin; i <= iymax; i++) {		y[i] = my z[i][ix];	}	Graphics_function (g, y.peek(), iymin, iymax, Matrix_rowToY (me, iymin), Matrix_rowToY (me, iymax));	Graphics_unsetInner (g);}
开发者ID:PaulBoersma,项目名称:praat,代码行数:35,


示例7: Polygon_paint

void Polygon_paint (Polygon me, Graphics g, Graphics_Colour colour, double xmin, double xmax, double ymin, double ymax) {	Graphics_setInner (g);	setWindow (me, g, xmin, xmax, ymin, ymax);	Graphics_setColour (g, colour);	Graphics_fillArea (g, my numberOfPoints, & my x [1], & my y [1]);	Graphics_unsetInner (g);}
开发者ID:psibre,项目名称:praat,代码行数:7,


示例8: Transition_drawAsNumbers

void Transition_drawAsNumbers (I, Graphics g, int iformat, int precision) {	iam (Transition);	double maxTextWidth = 0, maxTextHeight = 0;	Graphics_setInner (g);	Graphics_setWindow (g, 0.5, my numberOfStates + 0.5, 0, 1);	double leftMargin = Graphics_dxMMtoWC (g, 1);	double lineSpacing = Graphics_dyMMtoWC (g, 1.5 * Graphics_inqFontSize (g) * 25.4 / 72);	Graphics_setTextAlignment (g, Graphics_CENTRE, Graphics_BOTTOM);	for (long col = 1; col <= my numberOfStates; col ++) {		if (my stateLabels && my stateLabels [col] && my stateLabels [col] [0]) {			Graphics_text (g, col, 1, my stateLabels [col]);			if (! maxTextHeight) maxTextHeight = lineSpacing;		}	}	for (long row = 1; row <= my numberOfStates; row ++) {		double y = 1 - lineSpacing * (row - 1 + 0.7);		Graphics_setTextAlignment (g, Graphics_RIGHT, Graphics_HALF);		if (my stateLabels && my stateLabels [row]) {			double textWidth = Graphics_textWidth (g, my stateLabels [row]);			if (textWidth > maxTextWidth) maxTextWidth = textWidth;			Graphics_text (g, 0.5 - leftMargin, y, my stateLabels [row]);		}		Graphics_setTextAlignment (g, Graphics_CENTRE, Graphics_HALF);		for (long col = 1; col <= my numberOfStates; col ++) {			wchar text [40];			print4 (text, my data [row] [col], iformat, 0, precision);			Graphics_text (g, col, y, text);		}	}	if (maxTextWidth)		Graphics_line (g, 0.5 - maxTextWidth - leftMargin, 1, my numberOfStates + 0.5, 1);	if (maxTextHeight)		Graphics_line (g, 0.5, 1 + maxTextHeight, 0.5, 1 - lineSpacing * (my numberOfStates + 0.2));	Graphics_unsetInner (g);}
开发者ID:georgiee,项目名称:lip-sync-lpc,代码行数:35,


示例9: TextGrid_Pitch_draw

void TextGrid_Pitch_draw (TextGrid grid, Pitch pitch, Graphics g,	long tierNumber, double tmin, double tmax, double fmin, double fmax,	double fontSize, int useTextStyles, int horizontalAlignment, int garnish, int speckle, int unit){	try {		TextGrid_checkSpecifiedTierNumberWithinRange (grid, tierNumber);		double oldFontSize = Graphics_inqFontSize (g);		Pitch_draw (pitch, g, tmin, tmax, fmin, fmax, garnish, speckle, unit);		if (tmax <= tmin) tmin = grid -> xmin, tmax = grid -> xmax;		autoPitchTier pitchTier = Pitch_to_PitchTier (pitch);		if (Function_isUnitLogarithmic (pitch, Pitch_LEVEL_FREQUENCY, unit)) {			fmin = Function_convertStandardToSpecialUnit (pitch, fmin, Pitch_LEVEL_FREQUENCY, unit);			fmax = Function_convertStandardToSpecialUnit (pitch, fmax, Pitch_LEVEL_FREQUENCY, unit);		}		Graphics_setTextAlignment (g, horizontalAlignment, Graphics_BOTTOM);		Graphics_setInner (g);		Graphics_setFontSize (g, fontSize);		Graphics_setPercentSignIsItalic (g, useTextStyles);		Graphics_setNumberSignIsBold (g, useTextStyles);		Graphics_setCircumflexIsSuperscript (g, useTextStyles);		Graphics_setUnderscoreIsSubscript (g, useTextStyles);		Function anyTier = (Function) grid -> tiers -> item [tierNumber];		if (anyTier -> classInfo == classIntervalTier) {			IntervalTier tier = (IntervalTier) anyTier;			for (long i = 1; i <= tier -> intervals -> size; i ++) {				TextInterval interval = (TextInterval) tier -> intervals -> item [i];				double tleft = interval -> xmin, tright = interval -> xmax, tmid, f0;				if (! interval -> text || ! interval -> text [0]) continue;				if (tleft < pitch -> xmin) tleft = pitch -> xmin;				if (tright > pitch -> xmax) tright = pitch -> xmax;				tmid = (tleft + tright) / 2;				if (tmid < tmin || tmid > tmax) continue;				f0 = Function_convertStandardToSpecialUnit (pitch, RealTier_getValueAtTime (pitchTier.peek(), tmid), Pitch_LEVEL_FREQUENCY, unit);				if (f0 < fmin || f0 > fmax) continue;				Graphics_text (g,					horizontalAlignment == Graphics_LEFT ? tleft : horizontalAlignment == Graphics_RIGHT ? tright : tmid,					f0, interval -> text);			}		} else {			TextTier tier = (TextTier) anyTier;			for (long i = 1; i <= tier -> points -> size; i ++) {				TextPoint point = (TextPoint) tier -> points -> item [i];				double t = point -> number, f0;				if (! point -> mark || ! point -> mark [0]) continue;				if (t < tmin || t > tmax) continue;				f0 = Function_convertStandardToSpecialUnit (pitch, RealTier_getValueAtTime (pitchTier.peek(), t), Pitch_LEVEL_FREQUENCY, unit);				if (f0 < fmin || f0 > fmax) continue;				Graphics_text (g, t, f0, point -> mark);			}		}		Graphics_setPercentSignIsItalic (g, TRUE);		Graphics_setNumberSignIsBold (g, TRUE);		Graphics_setCircumflexIsSuperscript (g, TRUE);		Graphics_setUnderscoreIsSubscript (g, TRUE);		Graphics_setFontSize (g, oldFontSize);		Graphics_unsetInner (g);	} catch (MelderError) {		Melder_throw (grid, " & ", pitch, ": not drawn.");	}}
开发者ID:dellison,项目名称:APILPraat,代码行数:60,


示例10: CC_drawC0

void CC_drawC0 (I, Graphics g, double xmin, double xmax, double ymin,                double ymax, int garnish) {	iam (CC);	(void) garnish;	if (xmin >= xmax) {		xmin = my xmin; xmax = my xmax;	}	long bframe, eframe;	(void) Sampled_getWindowSamples (me, xmin, xmax, &bframe, &eframe);	autoNUMvector<double> c (bframe, eframe);	for (long i = bframe; i <= eframe; i++) {		CC_Frame cf = & my frame[i];		c[i] = cf -> c0;	}	if (ymin >= ymax) {		NUMvector_extrema (c.peek(), bframe, eframe, &ymin, &ymax);		if (ymax <= ymin) {			ymin -= 1.0;			ymax += 1.0;		}	} else {		NUMvector_clip (c.peek(), bframe, eframe, ymin, ymax);	}	Graphics_setInner (g);	Graphics_setWindow (g, xmin, xmax, ymin, ymax);	Graphics_function (g, c.peek(), bframe, eframe, xmin, xmax);	Graphics_unsetInner (g);}
开发者ID:georgiee,项目名称:lip-sync-lpc,代码行数:30,


示例11: FilterBank_paint

void FilterBank_paint (FilterBank me, Graphics g, double xmin, double xmax, double ymin, double ymax, double minimum, double maximum, int garnish) {	if (xmax <= xmin) {		xmin = my xmin; xmax = my xmax; 	}	if (ymax <= ymin) {		ymin = my ymin; ymax = my ymax;	}	long ixmin, ixmax, iymin, iymax;	(void) Matrix_getWindowSamplesX (me, xmin - 0.49999 * my dx, xmax + 0.49999 * my dx, &ixmin, &ixmax);	(void) Matrix_getWindowSamplesY (me, ymin - 0.49999 * my dy, ymax + 0.49999 * my dy, &iymin, &iymax);	if (maximum <= minimum) {		(void) Matrix_getWindowExtrema (me, ixmin, ixmax, iymin, iymax, &minimum, &maximum);	}	if (maximum <= minimum) { 		minimum -= 1.0; maximum += 1.0;	}	if (xmin >= xmax || ymin >= ymax) {		return;	}	Graphics_setInner (g);	Graphics_setWindow (g, xmin, xmax, ymin, ymax);	Graphics_image (g, my z,			ixmin, ixmax, Sampled_indexToX   (me, ixmin - 0.5), Sampled_indexToX   (me, ixmax + 0.5),			iymin, iymax, SampledXY_indexToY (me, iymin - 0.5), SampledXY_indexToY (me, iymax + 0.5),			minimum, maximum);	Graphics_unsetInner (g);	if (garnish) {		Graphics_drawInnerBox (g);		Graphics_marksLeft (g, 2, 1, 1, 0);		Graphics_textLeft (g, 1, GetFreqScaleText (my v_getFrequencyScale ()));		Graphics_marksBottom (g, 2, 1, 1, 0);		Graphics_textBottom (g, 1, U"Time (s)");	}}
开发者ID:psibre,项目名称:praat,代码行数:35,


示例12: FormantFilter_drawFilterFunctions

void FormantFilter_drawFilterFunctions (FormantFilter me, Graphics g, double bandwidth,                                        int toFreqScale, int fromFilter, int toFilter, double zmin, double zmax,                                        int dbScale, double ymin, double ymax, int garnish) {	if (! checkLimits (me, FilterBank_HERTZ, toFreqScale, & fromFilter, & toFilter,	                   & zmin, & zmax, dbScale, & ymin, & ymax)) {		return;	}	if (bandwidth <= 0) {		Melder_warning (U"Bandwidth must be greater than zero.");	}	long n = 1000;	autoNUMvector<double>a (1, n);	Graphics_setInner (g);	Graphics_setWindow (g, zmin, zmax, ymin, ymax);	for (long j = fromFilter; j <= toFilter; j++) {		double df = (zmax - zmin) / (n - 1);		double fc = my y1 + (j - 1) * my dy;		long ibegin, iend;		for (long i = 1; i <= n; i++) {			double f = zmin + (i - 1) * df;			double z = scaleFrequency (f, toFreqScale, FilterBank_HERTZ);			if (z == NUMundefined) {				a[i] = NUMundefined;			} else {				a[i] = NUMformantfilter_amplitude (fc, bandwidth, z);				if (dbScale) {					a[i] = to_dB (a[i], 10, ymin);				}			}		}		setDrawingLimits (a.peek(), n, ymin, ymax,	&ibegin, &iend);		if (ibegin <= iend) {			double fmin = zmin + (ibegin - 1) * df;			double fmax = zmax - (n - iend) * df;			Graphics_function (g, a.peek(), ibegin, iend, fmin, fmax);		}	}	Graphics_unsetInner (g);	if (garnish) {		double distance = dbScale ? 10 : 1;		char32 const *ytext = dbScale ? U"Amplitude (dB)" : U"Amplitude";		Graphics_drawInnerBox (g);		Graphics_marksBottom (g, 2, 1, 1, 0);		Graphics_marksLeftEvery (g, 1, distance, 1, 1, 0);		Graphics_textLeft (g, 1, ytext);		Graphics_textBottom (g, 1, GetFreqScaleText (toFreqScale));	}}
开发者ID:psibre,项目名称:praat,代码行数:58,


示例13: Polygon_paintCircles

void Polygon_paintCircles (Polygon me, Graphics g,	double xmin, double xmax, double ymin, double ymax, double diameter){	Graphics_setInner (g);	setWindow (me, g, xmin, xmax, ymin, ymax);	for (long i = 1; i <= my numberOfPoints; i ++)		Graphics_fillCircle_mm (g, my x [i], my y [i], diameter);	Graphics_unsetInner (g);}
开发者ID:psibre,项目名称:praat,代码行数:9,


示例14: Polygon_drawMarks

void Polygon_drawMarks (Polygon me, Graphics g, double xmin, double xmax,                        double ymin, double ymax, double size_mm, const wchar_t *mark) {	Graphics_setInner (g);	setWindow (me, g, xmin, xmax, ymin, ymax);	for (long i = 1; i <= my numberOfPoints; i++) {		Graphics_mark (g, my x[i], my y[i], size_mm, mark);	}	Graphics_unsetInner (g);}
开发者ID:Crisil,项目名称:praat,代码行数:9,


示例15: MelFilter_drawFilterFunctions

void MelFilter_drawFilterFunctions (MelFilter me, Graphics g,                                    int toFreqScale, int fromFilter, int toFilter, double zmin, double zmax,                                    int dbScale, double ymin, double ymax, int garnish) {	if (! checkLimits (me, FilterBank_MEL, toFreqScale, & fromFilter, & toFilter,	                   & zmin, & zmax, dbScale, & ymin, & ymax)) {		return;	}	long n = 1000;	autoNUMvector<double> a (1, n);	Graphics_setInner (g);	Graphics_setWindow (g, zmin, zmax, ymin, ymax);	for (long j = fromFilter; j <= toFilter; j++) {		double df = (zmax - zmin) / (n - 1);		double fc_mel = my y1 + (j - 1) * my dy;		double fc_hz = MELTOHZ (fc_mel);		double fl_hz = MELTOHZ (fc_mel - my dy);		double fh_hz = MELTOHZ (fc_mel + my dy);		long ibegin, iend;		for (long i = 1; i <= n; i++) {			// Filterfunction: triangular on a linear frequency scale AND a linear amplitude scale.			double f = zmin + (i - 1) * df;			double z = scaleFrequency (f, toFreqScale, FilterBank_HERTZ);			if (z == NUMundefined) {				a[i] = NUMundefined;			} else {				a[i] = NUMtriangularfilter_amplitude (fl_hz, fc_hz, fh_hz, z);				if (dbScale) {					a[i] = to_dB (a[i], 10, ymin);				}			}		}		setDrawingLimits (a.peek(), n, ymin, ymax,	&ibegin, &iend);		if (ibegin <= iend) {			double fmin = zmin + (ibegin - 1) * df;			double fmax = zmax - (n - iend) * df;			Graphics_function (g, a.peek(), ibegin, iend, fmin, fmax);		}	}	Graphics_unsetInner (g);	if (garnish) {		double distance = dbScale ? 10 : 1;		char32 const *ytext = dbScale ? U"Amplitude (dB)" : U"Amplitude";		Graphics_drawInnerBox (g);		Graphics_marksBottom (g, 2, 1, 1, 0);		Graphics_marksLeftEvery (g, 1, distance, 1, 1, 0);		Graphics_textLeft (g, 1, ytext);		Graphics_textBottom (g, 1, GetFreqScaleText (toFreqScale));	}}
开发者ID:psibre,项目名称:praat,代码行数:57,


示例16: FilterBank_drawFrequencyScales

void FilterBank_drawFrequencyScales (I, Graphics g, int horizontalScale, double xmin,                                     double xmax, int verticalScale, double ymin, double ymax, int garnish) {	iam (FilterBank);	int myFreqScale = FilterBank_getFrequencyScale (me);	if (xmin < 0 || xmax < 0 || ymin < 0 || ymax < 0) {		Melder_warning (U"Frequencies must be >= 0.");		return;	}	if (xmin >= xmax) {		double xmint = my ymin;		double xmaxt = my ymax;		if (ymin < ymax) {			xmint = scaleFrequency (ymin, verticalScale, myFreqScale);			xmaxt = scaleFrequency (ymax, verticalScale, myFreqScale);		}		xmin = scaleFrequency (xmint, myFreqScale, horizontalScale);		xmax = scaleFrequency (xmaxt, myFreqScale, horizontalScale);	}	if (ymin >= ymax) {		ymin = scaleFrequency (xmin, horizontalScale, verticalScale);		ymax = scaleFrequency (xmax, horizontalScale, verticalScale);	}	long n = 2000;	autoNUMvector<double> a (1, n);	Graphics_setInner (g);	Graphics_setWindow (g, xmin, xmax, ymin, ymax);	double df = (xmax - xmin) / (n - 1);	for (long i = 1; i <= n; i++) {		double f = xmin + (i - 1) * df;		a[i] = scaleFrequency (f, horizontalScale, verticalScale);	}	long ibegin, iend;	setDrawingLimits (a.peek(), n, ymin, ymax,	& ibegin, & iend);	if (ibegin <= iend) {		double fmin = xmin + (ibegin - 1) * df;		double fmax = xmax - (n - iend) * df;		Graphics_function (g, a.peek(), ibegin, iend, fmin, fmax);	}	Graphics_unsetInner (g);	if (garnish) {		Graphics_drawInnerBox (g);		Graphics_marksLeft (g, 2, 1, 1, 0);		Graphics_textLeft (g, 1, GetFreqScaleText (verticalScale));		Graphics_marksBottom (g, 2, 1, 1, 0);		Graphics_textBottom (g, 1, GetFreqScaleText (horizontalScale));	}}
开发者ID:psibre,项目名称:praat,代码行数:56,


示例17: PowerCepstrogram_paint

void PowerCepstrogram_paint (PowerCepstrogram me, Graphics g, double tmin, double tmax, double qmin, double qmax, double dBmaximum, int autoscaling, double dynamicRangedB, double dynamicCompression, int garnish) {	if (tmax <= tmin) { tmin = my xmin; tmax = my xmax; }	if (qmax <= qmin) { qmin = my ymin; qmax = my ymax; }	long itmin, itmax, ifmin, ifmax;	if (! Matrix_getWindowSamplesX (me, tmin - 0.49999 * my dx, tmax + 0.49999 * my dx, & itmin, & itmax) ||		 ! Matrix_getWindowSamplesY (me, qmin - 0.49999 * my dy, qmax + 0.49999 * my dy, & ifmin, & ifmax)) {		return;	}	autoMatrix thee = Data_copy (me);	double min = 1e308, max = -min;	for (long i = 1; i <= my ny; i++) {		for (long j = 1; j <= my nx; j++) {			double val = TO10LOG (my z[i][j]);			min = val < min ? val : min;			max = val > max ? val : max;			thy z[i][j] = val;		}	}	double dBminimum = dBmaximum - dynamicRangedB;	if (autoscaling) {		dBminimum = min; dBmaximum = max;	}	for (long j = 1; j <= my nx; j++) {		double lmax = thy z[1][j];		for (long i = 2; i <= my ny; i++) {			if (thy z[i][j] > lmax) {				lmax = thy z[i][j];			}		}		double factor = dynamicCompression * (max - lmax);		for (long i = 1; i <= my ny; i++) {			thy z[i][j] += factor;		}	}		Graphics_setInner (g);	Graphics_setWindow (g, tmin, tmax, qmin, qmax);	Graphics_image (g, thy z,		itmin, itmax,		Matrix_columnToX (thee.get(), itmin - 0.5),		Matrix_columnToX (thee.get(), itmax + 0.5),		ifmin, ifmax,		Matrix_rowToY (thee.get(), ifmin - 0.5),		Matrix_rowToY (thee.get(), ifmax + 0.5),		dBminimum, dBmaximum);	Graphics_unsetInner (g);	if (garnish) {		Graphics_drawInnerBox (g);		Graphics_textBottom (g, true, U"Time (s)");		Graphics_marksBottom (g, 2, true, true, false);		Graphics_marksLeft (g, 2, true, true, false);		Graphics_textLeft (g, true, U"Quefrency (s)");	}}
开发者ID:nullpunktTUD,项目名称:praat,代码行数:56,


示例18: BarkFilter_drawSekeyHansonFilterFunctions

void BarkFilter_drawSekeyHansonFilterFunctions (BarkFilter me, Graphics g,        int toFreqScale, int fromFilter, int toFilter, double zmin, double zmax,        int dbScale, double ymin, double ymax, int garnish) {	if (! checkLimits (me, FilterBank_BARK, toFreqScale, & fromFilter, & toFilter,	                   & zmin, & zmax, dbScale, & ymin, & ymax)) {		return;	}	long n = 1000;	autoNUMvector<double> a (1, n);	Graphics_setInner (g);	Graphics_setWindow (g, zmin, zmax, ymin, ymax);	for (long j = fromFilter; j <= toFilter; j++) {		double df = (zmax - zmin) / (n - 1);		double zMid = Matrix_rowToY (me, j);		long ibegin, iend;		for (long i = 1; i <= n; i++) {			double f = zmin + (i - 1) * df;			double z = scaleFrequency (f, toFreqScale, FilterBank_BARK);			if (z == NUMundefined) {				a[i] = NUMundefined;			} else {				z -= zMid + 0.215;				a[i] = 7 - 7.5 * z - 17.5 * sqrt (0.196 + z * z);				if (! dbScale) {					a[i] = pow (10, a[i]);				}			}		}		setDrawingLimits (a.peek(), n, ymin, ymax, &ibegin, &iend);		if (ibegin <= iend) {			double fmin = zmin + (ibegin - 1) * df;			double fmax = zmax - (n - iend) * df;			Graphics_function (g, a.peek(), ibegin, iend, fmin, fmax);		}	}	Graphics_unsetInner (g);	if (garnish) {		double distance = dbScale ? 10 : 1;		const char32 *ytext = dbScale ? U"Amplitude (dB)" : U"Amplitude";		Graphics_drawInnerBox (g);		Graphics_marksBottom (g, 2, 1, 1, 0);		Graphics_marksLeftEvery (g, 1, distance, 1, 1, 0);		Graphics_textLeft (g, 1, ytext);		Graphics_textBottom (g, 1, GetFreqScaleText (toFreqScale));	}}
开发者ID:psibre,项目名称:praat,代码行数:55,


示例19: BandFilterSpectrogram_drawSpectrumAtNearestTimeSlice

void BandFilterSpectrogram_drawSpectrumAtNearestTimeSlice (BandFilterSpectrogram me, Graphics g, double time, double fmin, double fmax, double dBmin, double dBmax, int garnish) {	if (time < my xmin || time > my xmax) {		return;	}	if (fmin == 0 && fmax == 0) { // autoscaling		fmin = my ymin; fmax = my ymax;	}	if (fmax <= fmin) {		fmin = my ymin; fmax = my ymax;	}	long icol = Matrix_xToNearestColumn (me, time);	icol = icol < 1 ? 1 : (icol > my nx ? my nx : icol);	autoNUMvector<double> spectrum (1, my ny);	for (long i = 1; i <= my ny; i++) {		spectrum[i] = my v_getValueAtSample (icol, i, 1); // dB's	}	long iymin, iymax;	if (Matrix_getWindowSamplesY (me, fmin, fmax, &iymin, &iymax) < 2) { // too few values		return;	}	if (dBmin == dBmax) { // autoscaling		dBmin = spectrum[iymin]; dBmax = dBmin;		for (long i = iymin + 1; i <= iymax; i++) {			if (spectrum[i] < dBmin) {				dBmin = spectrum[i];			} else if (spectrum[i] > dBmax) {				dBmax = spectrum[i];			}		}		if (dBmin == dBmax) { 			dBmin -= 1; dBmax += 1;		}	}	Graphics_setWindow (g, fmin, fmax, dBmin, dBmax);	Graphics_setInner (g);	double x1 = my y1 + (iymin -1) * my dy, y1 = spectrum[iymin];	for (long i = iymin + 1; i <= iymax - 1; i++) {		double x2 = my y1 + (i -1) * my dy, y2 = spectrum[i];		double xo1, yo1, xo2, yo2;		if (NUMclipLineWithinRectangle (x1, y1, x2, y2, fmin, dBmin, fmax, dBmax, &xo1, &yo1, &xo2, &yo2)) {			Graphics_line (g, xo1, yo1, xo2, yo2);		}		x1 = x2; y1 = y2;	}	Graphics_unsetInner (g);	if (garnish) {		Graphics_drawInnerBox (g);		Graphics_marksBottom (g, 2, 1, 1, 0);		Graphics_marksLeft (g, 2, 1, 1, 0);		Graphics_textLeft (g, 1, U"Power (dB)");		Graphics_textBottom (g, 1, Melder_cat (U"Frequency (", my v_getFrequencyUnit (), U")"));	}}
开发者ID:davideberdin,项目名称:praat,代码行数:55,


示例20: EditDistanceTable_draw

void EditDistanceTable_draw (EditDistanceTable me, Graphics graphics, int iformat, int precision, double angle) {    long rowmin = 1, rowmax = my numberOfRows;    Graphics_setInner (graphics);    Graphics_setWindow (graphics, 0.5, my numberOfColumns + 0.5, 0, 1);    double leftMargin = getLeftMargin (graphics);   // not earlier!    double lineSpacing = getLineSpacing (graphics);   // not earlier!    double maxTextWidth = getMaxRowLabelWidth (me, graphics, rowmin, rowmax);    double y = 1 + 0.1 * lineSpacing;    autoNUMmatrix<bool> onPath (1, my numberOfRows, 1, my numberOfColumns);    for (long i = 1; i <= my warpingPath -> pathLength; i++) {        structPairOfInteger poi = my warpingPath -> path[i];        onPath[poi.y] [poi.x] = true;    }    for (long irow = my numberOfRows; irow > 0; irow --) {        Graphics_setTextAlignment (graphics, Graphics_RIGHT, Graphics_HALF);        if (my rowLabels && my rowLabels [irow] && my rowLabels [irow] [0])            Graphics_text (graphics, 0.5 - leftMargin, y, my rowLabels [irow]);        Graphics_setTextAlignment (graphics, Graphics_CENTRE, Graphics_HALF);        for (long icol = 1; icol <= my numberOfColumns; icol ++) {            char text [40];            print4 (text, my data [irow] [icol], iformat, 0, precision);            Graphics_setBold (graphics, onPath[irow][icol]);            Graphics_text (graphics, icol, y, Melder_peek8to32 (text));            if (onPath[irow][icol]) {                Graphics_rectangle (graphics, icol-0.5, icol+0.5, y - 0.5*lineSpacing, y + 0.5*lineSpacing);            }        }        y -= lineSpacing;        Graphics_setBold (graphics, false);    }    double left = 0.5;    if (maxTextWidth > 0.0) left -= maxTextWidth + 2 * leftMargin;    Graphics_line (graphics, left, y, my numberOfColumns + 0.5, y);    Graphics_setTextRotation (graphics, angle);    if (angle < 0) {        y -= 0.3*lineSpacing;        Graphics_setTextAlignment (graphics, Graphics_LEFT, Graphics_HALF);    } else if (angle > 0) {        Graphics_setTextAlignment (graphics, Graphics_RIGHT, Graphics_HALF);        y -= 0.3*lineSpacing;    } else {        Graphics_setTextAlignment (graphics, Graphics_CENTRE, Graphics_TOP);    }    for (long icol = 1; icol <= my numberOfColumns; icol ++) {        if (my columnLabels && my columnLabels [icol] && my columnLabels [icol] [0])            Graphics_text (graphics, icol, y, my columnLabels [icol]);    }    Graphics_setTextRotation (graphics, 0);    y -= lineSpacing;    Graphics_line (graphics, 0.5, y, 0.5, 1 + 0.5 * lineSpacing);    Graphics_unsetInner (graphics);}
开发者ID:psibre,项目名称:praat,代码行数:55,


示例21: LogisticRegression_drawBoundary

void LogisticRegression_drawBoundary (LogisticRegression me, Graphics graphics, long colx, double xleft, double xright,	long coly, double ybottom, double ytop, bool garnish){	RegressionParameter parmx = static_cast<RegressionParameter> (my parameters -> item [colx]);	RegressionParameter parmy = static_cast<RegressionParameter> (my parameters -> item [coly]);	if (xleft == xright) {		xleft = parmx -> minimum;		xright = parmx -> maximum;	}	if (ybottom == ytop) {		ybottom = parmy -> minimum;		ytop = parmy -> maximum;	}	double intercept = my intercept;	for (long iparm = 1; iparm <= my parameters -> size; iparm ++) {		if (iparm != colx && iparm != coly) {			RegressionParameter parm = static_cast<RegressionParameter> (my parameters -> item [iparm]);			intercept += parm -> value * (0.5 * (parm -> minimum + parm -> maximum));		}	}	Graphics_setInner (graphics);	Graphics_setWindow (graphics, xleft, xright, ybottom, ytop);	double xbottom = (intercept + parmy -> value * ybottom) / - parmx -> value;	double xtop = (intercept + parmy -> value * ytop) / - parmx -> value;	double yleft = (intercept + parmx -> value * xleft) / - parmy -> value;	double yright = (intercept + parmx -> value * xright) / - parmy -> value;	double xmin = NUMmin2 (xleft, xright), xmax = NUMmax2 (xleft, xright);	double ymin = NUMmin2 (ybottom, ytop), ymax = NUMmax2 (ybottom, ytop);	//Melder_casual ("LogisticRegression_drawBoundary: %f %f %f %f %f %f %f %f",	//	xmin, xmax, xbottom, xtop, ymin, ymax, yleft, yright);	if (xbottom >= xmin && xbottom <= xmax) {   // line goes through bottom?		if (xtop >= xmin && xtop <= xmax)   // line goes through top?			Graphics_line (graphics, xbottom, ybottom, xtop, ytop);   // draw from bottom to top		else if (yleft >= ymin && yleft <= ymax)   // line goes through left?			Graphics_line (graphics, xbottom, ybottom, xleft, yleft);   // draw from bottom to left		else if (yright >= ymin && yright <= ymax)   // line goes through right?			Graphics_line (graphics, xbottom, ybottom, xright, yright);   // draw from bottom to right	} else if (yleft >= ymin && yleft <= ymax) {   // line goes through left?		if (yright >= ymin && yright <= ymax)   // line goes through right?			Graphics_line (graphics, xleft, yleft, xright, yright);   // draw from left to right		else if (xtop >= xmin && xtop <= xmax)   // line goes through top?			Graphics_line (graphics, xleft, yleft, xtop, ytop);   // draw from left to top	} else if (xtop >= xmin && xtop <= xmax) {   // line goes through top?		if (yright >= ymin && yright <= ymax)   // line goes through right?			Graphics_line (graphics, xtop, ytop, xright, yright);   // draw from top to right	}	Graphics_unsetInner (graphics);	if (garnish) {		Graphics_drawInnerBox (graphics);		Graphics_textBottom (graphics, true, parmx -> label);		Graphics_marksBottom (graphics, 2, true, true, false);		Graphics_textLeft (graphics, true, parmy -> label);		Graphics_marksLeft (graphics, 2, true, true, false);	}}
开发者ID:georgiee,项目名称:lip-sync-lpc,代码行数:55,


示例22: gui_drawingarea_cb_click

static void gui_drawingarea_cb_click (ArtwordEditor me, GuiDrawingArea_ClickEvent event) {	if (! my graphics) return;	Artword artword = (Artword) my data;	Graphics_setWindow (my graphics.get(), 0, artword -> totalTime, -1.0, 1.0);	Graphics_setInner (my graphics.get());	double xWC, yWC;	Graphics_DCtoWC (my graphics.get(), event -> x, event -> y, & xWC, & yWC);	Graphics_unsetInner (my graphics.get());	GuiText_setString (my time,  Melder_fixed (xWC, 6));	GuiText_setString (my value, Melder_fixed (yWC, 6));}
开发者ID:DsRQuicke,项目名称:praat,代码行数:11,


示例23: FFNet_Eigen_drawIntersection

void FFNet_Eigen_drawIntersection (FFNet me, Eigen eigen, Graphics g, long pcx, long pcy, double xmin, double xmax, double ymin, double ymax) {	long ix = labs (pcx), iy = labs (pcy);	long numberOfEigenvalues = eigen -> numberOfEigenvalues;	long dimension = eigen -> dimension;	if (ix > numberOfEigenvalues || iy > numberOfEigenvalues || my nInputs != dimension) {		return;	}	Melder_assert (ix > 0 && iy > 0);	double x1, x2, y1, y2;	if (xmax <= xmin || ymax <= ymin) {		Graphics_inqWindow (g, & x1, & x2, & y1, & y2);	}	if (xmax <= xmin) {		xmin = x1;		xmax = x2;	}	if (ymax <= ymin) {		ymin = y1;		ymax = y2;	}	Graphics_setInner (g);	Graphics_setWindow (g, xmin, xmax, ymin, ymax);	for (long i = 1; i <= my nUnitsInLayer[1]; i++) {		long unitOffset = my nInputs + 1;		double c1 = 0.0, c2 = 0.0, bias = my w[ my wLast[unitOffset + i] ];		double x[6], y[6], xs[3], ys[3]; int ns = 0;		for (long j = 1; j <= my nInputs; j++) {			c1 += my w[ my wFirst[unitOffset + i] + j - 1 ] * eigen->eigenvectors[ix][j];			c2 += my w[ my wFirst[unitOffset + i] + j - 1 ] * eigen->eigenvectors[iy][j];		}		x[1] = x[2] = x[5] = xmin; x[3] = x[4] = xmax;		y[1] = y[4] = y[5] = ymin; y[2] = y[3] = ymax;		for (long j = 1; j <= 4; j++) {			double p1 = c1 * x[j  ] + c2 * y[j  ] + bias;			double p2 = c1 * x[j + 1] + c2 * y[j + 1] + bias;			double r = fabs (p1) / (fabs (p1) + fabs (p2));			if (p1 *p2 > 0 || r == 0.0) {				continue;			}			if (++ns > 2) {				break;			}			xs[ns] = x[j] + (x[j + 1] - x[j]) * r;			ys[ns] = y[j] + (y[j + 1] - y[j]) * r;		}		if (ns < 2) {			Melder_casual (U"Intersection for unit ", i, U" outside range");		} else {			Graphics_line (g, xs[1], ys[1], xs[2], ys[2]);		}	}	Graphics_unsetInner (g);}
开发者ID:READSEARCH,项目名称:praat,代码行数:54,


示例24: Movie_paintOneImage

void Movie_paintOneImage (Movie me, Graphics graphics, long frameNumber, double xmin, double xmax, double ymin, double ymax) {	try {		Graphics_setInner (graphics);		Graphics_setWindow (graphics, 0.0, 1.0, 0.0, 1.0);		Movie_paintOneImageInside (me, graphics, frameNumber, xmin, xmax, ymin, ymax);		Graphics_unsetInner (graphics);	} catch (MelderError) {		Graphics_unsetInner (graphics);   // TODO: should be auto		throw;	}}
开发者ID:guilhermegarcia,项目名称:praat-1,代码行数:11,


示例25: Spectrum_draw

void Spectrum_draw (Spectrum me, Graphics g, double fmin, double fmax, double minimum, double maximum, int garnish) {	Graphics_setInner (g);	Spectrum_drawInside (me, g, fmin, fmax, minimum, maximum);	Graphics_unsetInner (g);	if (garnish) {		Graphics_drawInnerBox (g);		Graphics_textBottom (g, 1, L"Frequency (Hz)");		Graphics_marksBottom (g, 2, true, true, false);		Graphics_textLeft (g, 1, L"Sound pressure level (dB/Hz)");		Graphics_marksLeftEvery (g, 1.0, 20.0, true, true, false);	}}
开发者ID:Crisil,项目名称:praat,代码行数:12,


示例26: Matrix_drawAsSquares

void Matrix_drawAsSquares (Matrix me, Graphics g, double xmin, double xmax, double ymin, double ymax, int garnish) {	Graphics_Colour colour = Graphics_inqColour (g);	long ixmin, ixmax, iymin, iymax;	if (xmax <= xmin) {		xmin = my xmin;		xmax = my xmax;	}	long nx = Matrix_getWindowSamplesX (me, xmin, xmax, &ixmin, &ixmax);	if (ymax <= ymin) {		ymin = my ymin;		ymax = my ymax;	}	long ny = Matrix_getWindowSamplesY (me, ymin, ymax, &iymin, &iymax);	double min, max = nx > ny ? nx : ny;	double dx = (xmax - xmin) / max, dy = (ymax - ymin) / max;	Graphics_setInner (g);	Graphics_setWindow (g, xmin, xmax, ymin, ymax);	Matrix_getWindowExtrema (me, ixmin, ixmax, iymin, iymax, & min, & max);	double wAbsMax = fabs (max) > fabs (min) ? fabs (max) : fabs (min);	for (long i = iymin; i <= iymax; i++) {		double y = Matrix_rowToY (me, i);		for (long j = ixmin; j <= ixmax; j++) {			double x = Matrix_columnToX (me, j);			double d = 0.95 * sqrt (fabs (my z[i][j]) / wAbsMax);			if (d > 0) {				double x1WC = x - d * dx / 2, x2WC = x + d * dx / 2;				double y1WC = y - d * dy / 2, y2WC = y + d * dy / 2;				if (my z[i][j] > 0) {					Graphics_setColour (g, Graphics_WHITE);				}				Graphics_fillRectangle (g, x1WC, x2WC, y1WC, y2WC);				Graphics_setColour (g, colour);				Graphics_rectangle (g, x1WC, x2WC , y1WC, y2WC);			}		}	}	Graphics_setGrey (g, 0.0);	Graphics_unsetInner (g);	if (garnish) {		Graphics_drawInnerBox (g);		Graphics_marksLeft (g, 2, true, true, false);		if (ymin * ymax < 0.0) {			Graphics_markLeft (g, 0.0, true, true, true, nullptr);		}		Graphics_marksBottom (g, 2, true, true, false);		if (xmin * xmax < 0.0) {			Graphics_markBottom (g, 0.0, true, true, true, nullptr);		}	}}
开发者ID:PaulBoersma,项目名称:praat,代码行数:51,


示例27: Intensity_draw

void Intensity_draw (Intensity me, Graphics g, double tmin, double tmax,	double minimum, double maximum, int garnish){	Graphics_setInner (g);	Intensity_drawInside (me, g, tmin, tmax, minimum, maximum);	Graphics_unsetInner (g);	if (garnish) {		Graphics_drawInnerBox (g);		Graphics_textBottom (g, 1, L"Time (s)");		Graphics_marksBottom (g, 2, 1, 1, 0);		Graphics_marksLeft (g, 2, 1, 1, 0);		Graphics_textLeft (g, 1, L"Intensity (dB)");	}}
开发者ID:Crisil,项目名称:praat,代码行数:14,


示例28: Formant_drawSpeckles

void Formant_drawSpeckles (Formant me, Graphics g, double tmin, double tmax, double fmax, double suppress_dB,	int garnish){	Graphics_setInner (g);	Formant_drawSpeckles_inside (me, g, tmin, tmax, 0.0, fmax, suppress_dB);	Graphics_unsetInner (g);	if (garnish) {		Graphics_drawInnerBox (g);		Graphics_textBottom (g, 1, U"Time (s)");		Graphics_textLeft (g, 1, U"Formant frequency (Hz)");		Graphics_marksBottom (g, 2, 1, 1, 0);		Graphics_marksLeftEvery (g, 1.0, 1000.0, 1, 1, 1);	}}
开发者ID:psibre,项目名称:praat,代码行数:14,


示例29: TableOfReal_drawVerticalLines

void TableOfReal_drawVerticalLines (TableOfReal me, Graphics graphics, long rowmin, long rowmax) {	long colmin = 1, colmax = my numberOfColumns;	fixRows (me, & rowmin, & rowmax);	Graphics_setInner (graphics);	Graphics_setWindow (graphics, colmin - 0.5, colmax + 0.5, 0, 1);	double lineSpacing = getLineSpacing (graphics);   // not earlier!	double maxTextWidth = getMaxRowLabelWidth (me, graphics, rowmin, rowmax);	double maxTextHeight = getMaxColumnLabelHeight (me, graphics, 1, my numberOfColumns);	if (maxTextWidth > 0.0) colmin -= 1;	for (long col = colmin + 1; col <= colmax; col ++)		Graphics_line (graphics, col - 0.5, 1 + maxTextHeight, col - 0.5, 1 - lineSpacing * (rowmax - rowmin + 1));	Graphics_unsetInner (graphics);}
开发者ID:arizona-phonological-imaging-lab,项目名称:ultrapraat,代码行数:14,


示例30: Matrix_scatterPlot

void Matrix_scatterPlot (Matrix me, Graphics g, long icx, long icy, double xmin, double xmax, double ymin, double ymax, double size_mm, const char32 *mark, int garnish) {	long ix = labs (icx), iy = labs (icy);	if (ix < 1 || ix > my nx || iy < 1 || iy > my nx) {		return;	}	if (xmax <= xmin) {		(void) Matrix_getWindowExtrema (me, ix, ix, 1, my ny, & xmin, & xmax);		if (xmax <= xmin) {			xmin -= 0.5; xmax += 0.5;		}	}	if (ymax <= ymin) {		(void) Matrix_getWindowExtrema (me, iy, iy, 1, my ny, & ymin, & ymax);		if (ymax <= ymin) {			ymin -= 0.5; ymax += 0.5;		}	}	Graphics_setInner (g);	if (icx < 0) {		double t = xmin;		xmin = xmax;		xmax = t;	}	if (icy < 0) {		double t = ymin;		ymin = ymax;		ymax = t;	}	Graphics_setWindow (g, xmin, xmax, ymin, ymax);	for (long i = 1; i <= my ny; i++) {		if (my z[i][ix] >= xmin && my z[i][ix] <= xmax && my z[i][iy] >= ymin && my z[i][iy] <= ymax) {			Graphics_mark (g, my z[i][ix], my z[i][iy], size_mm, mark);		}	}	Graphics_unsetInner (g);	if (garnish) {		Graphics_drawInnerBox (g);		Graphics_marksLeft (g, 2, true, true, false);		if (ymin * ymax < 0.0) {			Graphics_markLeft (g, 0.0, true, true, true, nullptr);		}		Graphics_marksBottom (g, 2, true, true, false);		if (xmin * xmax < 0.0) {			Graphics_markBottom (g, 0.0, true, true, true, nullptr);		}	}}
开发者ID:PaulBoersma,项目名称:praat,代码行数:48,



注:本文中的Graphics_setInner函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ Graphics_setWindow函数代码示例
C++ Graphics_marksBottom函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。